Bolt
Bolt — это платформа для разработки на основе ИИ, работающая в браузере, от компании StackBlitz. В этом руководстве объясняется, как локализовать приложение на React с помощью Lingo.dev Compiler в Bolt.
Известные ограничения
Bolt использует веб-контейнеры для запуска веб-приложений в браузере. Это мощная технология, но у неё есть некоторые проблемы совместимости с Lingo.dev:
- Вы можете использовать только API-ключ для аутентификации с Lingo.dev Engine, а не команду
loginв CLI. - В Bolt Lingo.dev Compiler совместим только с приложениями на основе Vite. Вы не можете использовать Next.js.
- Компонент
<LocaleSwitcher />не работает в встроенном Preview-окне Bolt. - Ollama не поддерживается в Bolt, так как Ollama необходимо запускать локально.
Шаг 1. Получите API-ключ
Lingo.dev Compiler использует большие языковые модели (LLM) для локализации приложений с помощью ИИ. Чтобы использовать одну из этих моделей, вам нужен API-ключ от одного из поддерживаемых провайдеров. Вы можете использовать Lingo.dev Engine или собственного провайдера LLM.
Lingo.dev Engine
Lingo.dev Engine — это наша собственная хостинговая платформа, которая предоставляет динамический выбор моделей, авто-маршрутизацию, память переводов и поддержку глоссариев. Регистрация бесплатна, и все пользователи получают 10 000 токенов в месяц бесплатно.
Чтобы получить API-ключ:
- Войдите в Lingo.dev Engine.
- Перейдите на страницу Проекты.
- Нажмите API key > Копировать.
Собственный провайдер LLM
Компилятор Lingo.dev также интегрируется с рядом сторонних провайдеров, включая:
- Google AI
- GROQ
- Mistral
- Ollama (не поддерживается в Bolt)
- OpenRouter
Точные инструкции по настройке API-ключа зависят от провайдера.
Примечание: Перед использованием в Компиляторе убедитесь, что вы активировали свою учетную запись у провайдера LLM и приняли их Условия использования.
Шаг 2. Установите lingo.dev
Пакет lingo.dev содержит компилятор.
Чтобы установить пакет:
-
Создайте или откройте проект в Bolt.
-
Переключитесь на вкладку Код.
-
Нажмите Терминал.
-
Выполните следующую команду:
npm install lingo.dev
Шаг 3. Настройте Vite
При использовании Vite необходимо инициализировать Lingo.dev Compiler в файле конфигурации проекта:
- Если вы используете TypeScript, файл конфигурации — это
vite.config.ts. - Если вы используете JavaScript, файл конфигурации — это
vite.config.js.
Вы можете настроить поведение компилятора во время инициализации. Именно эта конфигурация определяет, между какими локалями будет происходить перевод и какие модели будут использоваться для локализации.
Для полного списка доступных опций смотрите Compiler Options.
Движок Lingo.dev
Если вы используете движок Lingo.dev, установите models в значение "lingo.dev":
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import lingoCompiler from "lingo.dev/compiler";
const viteConfig = {
plugins: [react()],
};
export default defineConfig(() =>
lingoCompiler.vite({
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es"],
rsc: false,
useDirective: false,
debug: false,
models: "lingo.dev",
})(viteConfig),
);
Пользовательский провайдер LLM
Если вы используете пользовательского провайдера LLM, установите models в объект, который сопоставляет исходные и целевые локали с моделями, которые должны их локализовать. Например, эта конфигурация локализует все строки с помощью "groq:qwen/qwen3-32b":
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import lingoCompiler from "lingo.dev/compiler";
const viteConfig = {
plugins: [react()],
};
export default defineConfig(() =>
lingoCompiler.vite({
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es"],
rsc: false,
useDirective: false,
debug: false,
models: {
"*:*": "groq:qwen/qwen3-32b",
},
})(viteConfig),
);
Шаг 4. Установите переменную окружения
Чтобы Lingo.dev Compiler мог получить доступ к API-ключам для настроенных моделей, эти ключи должны быть доступны в качестве переменных окружения.
Для настройки переменных окружения в Bolt:
-
Создайте файл
.env.- Щелкните правой кнопкой мыши по области файлов.
- Выберите Новый файл.
- Введите
.env.
-
Добавьте соответствующие переменные окружения в файл:
# Lingo.dev Engine LINGODOTDEV_API_KEY="YOUR_API_KEY_GOES_HERE" # Google AI GOOGLE_API_KEY="YOUR_API_KEY_GOES_HERE" # GROQ GROQ_API_KEY="YOUR_API_KEY_GOES_HERE" # Mistral MISTRAL_API_KEY="YOUR_API_KEY_GOES_HERE" # OpenRouter OPENROUTER_API_KEY="YOUR_API_KEY_GOES_HERE"
Примечание: Bolt автоматически шифрует переменные окружения. Чтобы узнать больше, см. Переменные окружения (developer.stackblitz.com).
Шаг 4. Добавьте провайдер
Пакет lingo.dev экспортирует компонент <LingoProviderWrapper />. Этот компонент отвечает за загрузку переводов и их доступность по всему приложению.
Чтобы использовать компонент, импортируйте его в файл src/main.tsx и оберните им компонент <App />:
import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App.tsx";
import { LingoProviderWrapper, loadDictionary } from "lingo.dev/react/client";
ReactDOM.createRoot(document.getElementById("root")!).render(
<React.StrictMode>
<LingoProviderWrapper loadDictionary={(locale) => loadDictionary(locale)}>
<App />
</LingoProviderWrapper>
</React.StrictMode>,
);
(Опционально) Шаг 5. Добавьте переключатель локали
Пакет lingo.dev экспортирует неоформленный компонент <LocaleSwitcher />. Этот компонент отображает выпадающий список, который позволяет пользователям выбрать предпочитаемый язык и запоминает этот выбор при повторных посещениях.
Чтобы использовать компонент, включите его как потомка компонента <LingoProviderWrapper /> и установите свойство locales в массив, содержащий исходные и целевые локали:
import { LocaleSwitcher } from "lingo.dev/react/client";
function App() {
return (
<div className="App">
<header>
<LocaleSwitcher locales={["en", "es"]} />
</header>
<main>
<h1>Добро пожаловать в ваше приложение</h1>
<p>Этот контент переводится автоматически</p>
</main>
</div>
);
}
export default App;
Предупреждение: Компонент <LocaleSwitcher /> не работает в встроенном Preview окне Bolt. Чтобы увидеть компонент в действии, нажмите на значок Открыть предварительный просмотр в отдельной вкладке.
Шаг 6. Сборка и тестирование
Если сервер разработки еще не запущен, запустите его с помощью следующей команды:
npm run dev
Компилятор автоматически выполнит следующие действия:
- Сканирует ваши React-компоненты на наличие переводимого контента
- Извлечет ключи переводов
- Сгенерирует переводы с использованием ИИ
- Создаст оптимизированные файлы переводов в каталоге
lingo/
Следующие шаги
- Расширенная конфигурация: Варианты настройки
- Часто задаваемые вопросы: Распространенные вопросы и устранение неполадок
- Как это работает: Понимание процесса сборки