Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
Интеграция сервера MCP Intlayer в ваш любимый AI-ассистент позволяет получать все документы непосредственно из ChatGPT, DeepSeek, Cursor, VSCode и т.д.
Просмотр документации сервера MCPСодержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Объявление контента Per-Locale в Intlayer
Intlayer поддерживает два способа объявления многоязычного контента:
- Один файл со всеми переводами
- Один файл на каждую локаль (формат per-locale)
Эта гибкость позволяет:
- Легкая миграция с других инструментов интернационализации (i18n)
- Поддержка автоматизированных рабочих процессов перевода
- Четкая организация переводов в отдельные файлы, специфичные для каждой локали
Один файл с несколькими переводами
Этот формат идеален для:
- Быстрой итерации в коде.
- Бесшовной интеграции с CMS.
Это рекомендуемый подход для большинства случаев использования. Он централизует переводы, что облегчает итерации и интеграцию с CMS.
Копировать код в буфер обмена
import { t, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", content: { multilingualContent: t({ en: "Title of my component", // Заголовок моего компонента es: "Título de mi componente", // Заголовок моего компонента на испанском }), },} satisfies Dictionary;export default helloWorldContent;
Рекомендуется: Этот формат лучше всего подходит при использовании визуального редактора Intlayer или управлении переводами непосредственно в коде.
Формат по локалям
Этот формат полезен, когда:
- Вы хотите версионировать или переопределять переводы независимо.
- Вы интегрируете машинные или человеческие рабочие процессы перевода.
Вы также можете разделить переводы на отдельные файлы для каждой локали, указав поле locale:
Копировать код в буфер обмена
import { t, Locales, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.ENGLISH, // Важно content: { multilingualContent: "Title of my component" },} satisfies Dictionary;export default helloWorldContent;
Копировать код в буфер обмена
import { t, Locales, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.SPANISH, // Важно content: { multilingualContent: "Título de mi componente" },} satisfies Dictionary;export default helloWorldContent;
Важно: Убедитесь, что поле locale определено. Оно сообщает Intlayer, на каком языке представлен файл.
Примечание: В обоих случаях файл декларации контента должен соответствовать шаблону именования *.content.{ts,tsx,js,jsx,mjs,cjs,json}, чтобы Intlayer мог его распознать. Суффикс .[locale] является необязательным и используется только как соглашение об именовании.
Смешивание форматов
Вы можете комбинировать оба подхода объявления для одного и того же ключа контента. Например:
- Объявите базовый контент статически в файле, таком как index.content.ts.
- Добавьте или переопределите конкретные переводы в отдельных файлах, таких как index.fr.content.ts или index.content.json.
Эта настройка особенно полезна, когда:
- Вы хотите определить начальную структуру контента в коде.
- Планируете позже дополнить или завершить переводы с помощью CMS или автоматизированных инструментов.
Копировать код в буфер обмена
.└── Components └── MyComponent ├── index.content.ts ├── index.content.json └── index.ts
Пример
Вот файл объявления многоязычного контента:
Копировать код в буфер обмена
import { t, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.ENGLISH, content: { multilingualContent: "Заголовок моего компонента", projectName: "Мой проект", },} satisfies Dictionary;export default helloWorldContent;
Копировать код в буфер обмена
{ "$schema": "https://intlayer.org/schema.json", "key": "hello-world", "content": { "multilingualContent": { "nodeType": "translation", "translation": { "fr": "Titre de mon composant", "es": "Título de mi componente" } } }}
Intlayer автоматически объединяет мультиязычные и локализованные файлы.
Копировать код в буфер обмена
import { getIntlayer, Locales } from "intlayer";const intlayer = getIntlayer("hello-world"); // Локаль по умолчанию — ENGLISH, поэтому будет возвращено содержимое на английскомconsole.log(JSON.stringify(intlayer, null, 2));// Результат:// {// "multilingualContent": "Заголовок моего компонента",// "projectName": "Мой проект"// }const intlayer = getIntlayer("hello-world", Locales.SPANISH);console.log(JSON.stringify(intlayer, null, 2));// Результат:// {// "multilingualContent": "Título de mi componente",// "projectName": "Мой проект"// }const intlayer = getIntlayer("hello-world", Locales.FRENCH);console.log(JSON.stringify(intlayer, null, 2));// Результат:// {// "multilingualContent": "Titre de mon composant",// "projectName": "Мой проект"// }
Автоматическая генерация переводов
Автоматическая генерация переводов
Используйте intlayer CLI для автоматического заполнения отсутствующих переводов на основе ваших предпочтительных сервисов.
История документации
- 5.5.10 - 2025-06-29: Инициализация истории