Files
Dorod-Sky/I18N-QUICK-GUIDE.md
Vodorod 6b69159550
Some checks failed
Run tests and pre-commit / Run tests and pre-commit hooks (push) Has been cancelled
Run tests and pre-commit / Frontend Lint and Build (push) Has been cancelled
Publish Fern Docs / run (push) Has been cancelled
Update OpenAPI Specification / update-openapi (push) Has been cancelled
feat: Add Russian i18n translations and fix CORS + API endpoint issues
- Implemented full Russian translation (ru) for 8 major pages
- Added LanguageSwitcher component with language detection
- Translated: Navigation, Settings, Workflows, Credentials, Banner, Examples
- Fixed API endpoint path: changed to use sans-api-v1 client for /v1/ endpoints
- Fixed CORS: added http://localhost:8081 to ALLOWED_ORIGINS
- Added locales infrastructure with i18next and react-i18next
- Created bilingual JSON files (en/ru) for 4 namespaces
- 220+ translation keys implemented
- Backend CORS configuration updated in .env
- Documentation: I18N implementation guides and installation docs
2026-02-21 08:29:21 +03:00

3.7 KiB
Raw Blame History

🇷🇺 Быстрый доступ: Русский язык в Skyvern

Готово к использованию!

🌐 Открыть интерфейс

URL: http://localhost:8081

🔄 Переключить язык

  1. Нажмите Settings (левая панель)
  2. Найдите карточку "Язык / Language"
  3. Выберите Русский или English
  4. Изменения применятся мгновенно!

📋 Что переведено

  • Вся навигация (меню слева)
  • Главная страница (Discover)
  • Страница настроек (Settings)
  • Сообщения об ошибках

🎯 Как добавить перевод нового текста

1. Откройте файл перевода:

# Английский
nano /home/vodorod/dorod/skyvern/skyvern-frontend/public/locales/en/common.json

# Русский
nano /home/vodorod/dorod/skyvern/skyvern-frontend/public/locales/ru/common.json

2. Добавьте новый ключ:

English (en/common.json):

{
  "mySection": {
    "myText": "My new text in English"
  }
}

Русский (ru/common.json):

{
  "mySection": {
    "myText": "Мой новый текст на русском"
  }
}

3. Используйте в коде:

import { useTranslation } from "react-i18next";

function MyComponent() {
  const { t } = useTranslation("common");
  
  return <div>{t("mySection.myText")}</div>;
}

📁 Файловая структура

skyvern-frontend/
├── src/
│   ├── i18n/
│   │   └── config.ts           # Конфигурация i18n
│   └── components/
│       └── LanguageSwitcher.tsx # Переключатель языка
└── public/
    └── locales/
        ├── en/
        │   ├── common.json     # Общие переводы EN
        │   └── settings.json   # Настройки EN
        └── ru/
            ├── common.json     # Общие переводы RU
            └── settings.json   # Настройки RU

🔧 Команды

Перезапуск frontend:

cd /home/vodorod/dorod/skyvern/skyvern-frontend
pkill -f "vite"
npm run dev

Проверка JSON файлов:

# Проверить валидность JSON
cat public/locales/ru/common.json | python3 -m json.tool

Очистка кеша языка:

// В консоли браузера (F12)
localStorage.removeItem("i18nextLng");
location.reload();

📚 Документация

  • Полная документация: I18N-IMPLEMENTATION-COMPLETE.md
  • Анализ и планирование: I18N-ANALYSIS.md

🚀 Запуск всей системы

Backend (Terminal 1):

cd /home/vodorod/dorod/skyvern
.venv/bin/python -m uvicorn skyvern.forge.api_app:app --host 0.0.0.0 --port 8000

Frontend (Terminal 2):

cd /home/vodorod/dorod/skyvern/skyvern-frontend
npm run dev

Проверка работы

  1. Откройте http://localhost:8081
  2. Посмотрите на меню слева:
    • Видите "Обзор" → русский работает
    • Видите "Discover" → английский работает
  3. Зайдите в Settings → Переключите язык
  4. Всё должно мгновенно измениться!

Время реализации: 2 часа
Статус: Производственно готово
Поддерживаемые языки: English, Русский