Skip to content

Latest commit

 

History

History
429 lines (325 loc) · 14.8 KB

File metadata and controls

429 lines (325 loc) · 14.8 KB

Русификация интерфейса PumpFun Proxy Viewer

📝 Обзор локализации

Данный документ содержит рекомендации по русификации пользовательского интерфейса приложения PumpFun Proxy Viewer. Хотя текущая версия уже содержит русскую документацию, сам интерфейс приложения использует английские сообщения.

🔄 Предлагаемые изменения для русификации

1. Файл: src/index.js

Справочные сообщения

// Текущий код:
showHelp() {
  console.log(`
PumpFun Proxy Viewer Tool

Usage: node src/index.js [options]

Options:
  -c, --config <path>    Path to configuration file (default: ./config/config.json)
  -s, --status          Show periodic status updates
  -h, --help            Show this help message

Examples:
  node src/index.js                           # Start with default config
  node src/index.js -c ./my-config.json       # Use custom config
  node src/index.js --status                  # Show status updates
`);
}

// Предлагаемая русификация:
showHelp() {
  console.log(`
PumpFun Proxy Viewer - Инструмент для эмуляции зрителей

Использование: node src/index.js [опции]

Опции:
  -c, --config <путь>    Путь к файлу конфигурации (по умолчанию: ./config/config.json)
  -s, --status          Показывать периодические обновления статуса
  -h, --help            Показать это сообщение справки

Примеры:
  node src/index.js                           # Запуск с конфигурацией по умолчанию
  node src/index.js -c ./my-config.json       # Использовать кастомную конфигурацию
  node src/index.js --status                  # Показывать обновления статуса
`);
}

Сообщения ошибок и статуса

// Текущие сообщения -> Предлагаемые русские версии:

'Config directory not found. Please run from project root.'
 'Директория конфигурации не найдена. Запустите из корневой папки проекта.'

'Configuration file not found: ./config/config.json'
 'Файл конфигурации не найден: ./config/config.json'

'Node.js version X is not supported. Please use Node.js 16 or higher.'
 'Версия Node.js X не поддерживается. Используйте Node.js 16 или выше.'

'🚀 PumpFun Proxy Viewer Tool'
 '🚀 PumpFun Proxy Viewer - Инструмент эмуляции зрителей'

'✅ All viewers started successfully!'
 '✅ Все зрители успешно запущены!'

'Press Ctrl+C to stop all viewers'
 'Нажмите Ctrl+C для остановки всех зрителей'

'❌ Application failed:'
 '❌ Ошибка приложения:'

'Fatal error:'
 'Критическая ошибка:'

2. Файл: src/PumpViewerManager.js

Сообщения логирования

// Текущие сообщения -> Русские версии:

'Initializing PumpFun Viewer Manager...'
 'Инициализация менеджера зрителей PumpFun...'

'Initialization complete'
 'Инициализация завершена'

'Initialization failed'
 'Ошибка инициализации'

'Invalid or missing stream URL in configuration'
 'Некорректный или отсутствующий URL стрима в конфигурации'

'Invalid viewer count in configuration'
 'Некорректное количество зрителей в конфигурации'

'Invalid maxPerProxy value in configuration'
 'Некорректное значение maxPerProxy в конфигурации'

'Proxy capacity validation passed'
 'Проверка емкости прокси пройдена'

'Starting X viewers...'
 'Запуск X зрителей...'

'Viewer startup complete'
 'Запуск зрителей завершен'

'Failed to start viewers'
 'Не удалось запустить зрителей'

Статусные сообщения

// Текущий формат статуса:
`
📊 Status Report - ${new Date().toLocaleString()}
===========================================
Active Viewers: ${activeViewers}/${totalViewers}
Proxy Usage: ${usedSlots}/${totalSlots} slots used
Memory Usage: ${memoryUsage}
Uptime: ${uptime}
Successful Sessions: ${successRate}%
Failed Connections: ${failedConnections}
Average Session Time: ${avgSessionTime}
`

// Предлагаемый русский формат:
`
📊 Отчет о состоянии - ${new Date().toLocaleString('ru-RU')}
===========================================
Активные зрители: ${activeViewers}/${totalViewers}
Использование прокси: ${usedSlots}/${totalSlots} слотов
Использование памяти: ${memoryUsage}
Время работы: ${uptime}
Успешные сессии: ${successRate}%
Неудачные подключения: ${failedConnections}
Среднее время сессии: ${avgSessionTime}
`

3. Файл: src/ProxyManager.js

Сообщения о прокси

// Текущие -> Русские версии:

'Loaded X proxies'
 'Загружено X прокси-серверов'

'Proxy file not found:'
 'Файл прокси не найден:'

'Error loading proxies:'
 'Ошибка загрузки прокси:'

'Invalid proxy format:'
 'Неверный формат прокси:'

'Assigned proxy X (usage: Y/Z)'
 'Назначен прокси X (использование: Y/Z)'

'No available proxy slots'
 'Нет доступных слотов прокси'

'Released proxy slot for X'
 'Освобожден слот прокси для X'

'Unsupported proxy protocol:'
 'Неподдерживаемый протокол прокси:'

4. Файл: src/FingerprintManager.js

Этот файл в основном содержит технические данные, но можно добавить русские комментарии:

// Добавить комментарии на русском:
this.timezones = [
  // Американские часовые пояса
  'America/New_York', 'America/Los_Angeles', 'America/Chicago',
  // Европейские часовые пояса  
  'Europe/London', 'Europe/Paris', 'Europe/Berlin',
  // Азиатские часовые пояса
  'Asia/Tokyo', 'Asia/Shanghai', 'Asia/Seoul',
  // и т.д.
];

this.languages = [
  'ru-RU,ru;q=0.9,en;q=0.8', // Добавить русский язык как приоритетный
  'en-US,en;q=0.9',
  'en-GB,en;q=0.9',
  // остальные языки...
];

5. Файл: src/Logger.js

Уровни логирования и сообщения

// Можно добавить русские описания уровней:
const LOG_LEVELS = {
  error: { level: 0, label: 'ОШИБКА', color: 'red' },
  warn: { level: 1, label: 'ПРЕДУПРЕЖДЕНИЕ', color: 'yellow' },
  info: { level: 2, label: 'ИНФО', color: 'blue' },
  debug: { level: 3, label: 'ОТЛАДКА', color: 'gray' }
};

// Русские сообщения для ViewerMonitor:
'Viewer connected successfully'
 'Зритель успешно подключен'

'Viewer disconnected'
 'Зритель отключен'

'Session completed'
 'Сессия завершена'

'Connection failed'
 'Ошибка подключения'

6. Файл: src/PumpViewer.js

Сообщения о состоянии зрителя

// Текущие -> Русские версии:

'Starting viewer session...'
 'Запуск сессии зрителя...'

'Viewer started successfully'
 'Зритель успешно запущен'

'Navigation timeout exceeded'
 'Превышен таймаут навигации'

'Session ended normally'
 'Сессия завершена нормально'

'Viewer stopped'
 'Зритель остановлен'

'Browser launch failed'
 'Не удалось запустить браузер'

'Page navigation failed'
 'Не удалось перейти на страницу'

🌍 Реализация системы локализации

Создание системы i18n

Для полной локализации рекомендуется создать систему интернационализации:

// src/i18n/index.js
class I18n {
  constructor(locale = 'ru') {
    this.locale = locale;
    this.messages = require(`./locales/${locale}.json`);
  }

  t(key, params = {}) {
    let message = this.messages[key] || key;
    
    // Подстановка параметров
    Object.keys(params).forEach(param => {
      message = message.replace(`{${param}}`, params[param]);
    });
    
    return message;
  }
}

module.exports = I18n;

Файлы локализации

src/i18n/locales/ru.json

{
  "app.title": "PumpFun Proxy Viewer - Инструмент эмуляции зрителей",
  "app.starting": "🚀 Запуск {title}",
  "app.stopping": "Остановка приложения...",
  
  "viewers.starting": "Запуск {count} зрителей...",
  "viewers.started": "✅ Все зрители успешно запущены!",
  "viewers.failed": "❌ Не удалось запустить зрителей",
  
  "proxy.loaded": "Загружено {count} прокси-серверов",
  "proxy.assigned": "Назначен прокси {proxy} (использование: {usage}/{max})",
  "proxy.no_slots": "Нет доступных слотов прокси",
  
  "config.invalid_url": "Некорректный или отсутствующий URL стрима",
  "config.invalid_count": "Некорректное количество зрителей",
  "config.not_found": "Файл конфигурации не найден: {path}",
  
  "status.active_viewers": "Активные зрители",
  "status.proxy_usage": "Использование прокси",
  "status.memory_usage": "Использование памяти",
  "status.uptime": "Время работы",
  "status.success_rate": "Успешные сессии"
}

src/i18n/locales/en.json

{
  "app.title": "PumpFun Proxy Viewer Tool",
  "app.starting": "🚀 Starting {title}",
  "app.stopping": "Stopping application...",
  
  "viewers.starting": "Starting {count} viewers...",
  "viewers.started": "✅ All viewers started successfully!",
  "viewers.failed": "❌ Failed to start viewers",
  
  "proxy.loaded": "Loaded {count} proxies",
  "proxy.assigned": "Assigned proxy {proxy} (usage: {usage}/{max})",
  "proxy.no_slots": "No available proxy slots"
}

Использование в коде

// В начале файла
const I18n = require('./i18n');
const i18n = new I18n('ru'); // или 'en'

// Вместо хардкода строк:
console.log('Starting 10 viewers...');

// Использовать:
console.log(i18n.t('viewers.starting', { count: 10 }));

// Вместо:
this.logger.info('Proxy capacity validation passed');

// Использовать:
this.logger.info(i18n.t('proxy.validation_passed'));

📅 План поэтапной русификации

Этап 1: Основные сообщения пользователя

  • ✅ Справочные сообщения (--help)
  • ✅ Сообщения запуска и остановки
  • ✅ Основные ошибки

Этап 2: Система логирования

  • ✅ Сообщения в логах
  • ✅ Статусные отчеты
  • ✅ Мониторинг

Этап 3: Детальные сообщения

  • ✅ Сообщения о прокси
  • ✅ Детали работы зрителей
  • ✅ Техническая диагностика

Этап 4: Полная интернационализация

  • ✅ Система i18n
  • ✅ Переключение языков
  • ✅ Локализация времени и дат

🔧 Внедрение русификации

Добавление переменной среды

# .env файл
LOCALE=ru
DEFAULT_LOCALE=ru
SUPPORTED_LOCALES=ru,en

Конфигурация в config.json

{
  "locale": {
    "default": "ru",
    "supported": ["ru", "en"],
    "dateFormat": "ru-RU",
    "timezone": "Europe/Moscow"
  }
}

CLI опция для выбора языка

# Добавить опцию командной строки
node src/index.js --locale ru
node src/index.js --locale en

📊 Приоритеты русификации

Высокий приоритет

  1. Пользовательский интерфейс - сообщения, которые видит пользователь
  2. Справочная система - help, документация в коде
  3. Сообщения об ошибках - критически важно для отладки

Средний приоритет

  1. Система логирования - для администраторов
  2. Статусные отчеты - мониторинг системы
  3. Конфигурационные сообщения - валидация настроек

Низкий приоритет

  1. Техническая диагностика - для разработчиков
  2. Детальные логи - внутренние процессы
  3. Debug сообщения - отладочная информация

💡 Рекомендации по реализации

  1. Постепенное внедрение: Начать с самых важных сообщений
  2. Обратная совместимость: Сохранить английские версии как fallback
  3. Конфигурируемость: Позволить пользователю выбирать язык
  4. Консистентность: Использовать единый стиль терминологии
  5. Тестирование: Проверить все сценарии на русском языке

Данный документ поможет сделать PumpFun Proxy Viewer более доступным для русскоязычных пользователей