? Читаемая, автоматизированная и оптимизированная (3 КБ) интернационализация для JavaScript
Документация · QuickStart · Пример · Поддержка · внести свой вклад · Лицензия
Интернационализация - это проектирование и разработка продукта, приложения или контента документа, который обеспечивает легкую локализацию для целевой аудитории, которые различаются в культуре, регионе или языке.
--- W3C Web Internationalization FAQ
Lingui - это легкая, но мощная структура интернационализации (I18N) для глобальных проектов.
Чистый и читаемый - держите свой код чистым и читаемым, в то время как библиотека использует проверенные в битве и мощный MessageFormat ICU под капюшоном.
Universal - используйте его везде. @lingui/core предоставляет основную функциональность Intl, которая работает в любом проекте JavaScript, в то время как @lingui/react предлагает компоненты для использования рендеринга React, включая поддержку компонентов сервера React (RSC).
Полная поддержка насыщенного текста - используйте компоненты React внутри локализованных сообщений без каких -либо ограничений. Написание богатых текстовых сообщений так же просто, как и написание JSX.
Мощный инструмент - управляйте вашим рабочим процессом Intl с помощью Lingui CLI, плагина VITE и плагина Eslint. CLI извлекает, компилируется и проверяет сообщения, в то время как плагин Vite компилирует каталоги на лету, а плагин Eslint помогает поймать общие ошибки использования.
Unopinited - интегрировать Lingui в ваш существующий рабочий процесс. Он поддерживает клавиши сообщений, а также автоматические сообщения. Переводы хранятся либо в JSON, либо в стандартных PO -файлах, которые поддерживаются практически во всех инструментах перевода.
Легкая и оптимизированная - библиотека ядра составляет менее 3 КБ GZIPD, Creact Components - это дополнительные 1,4 КБ GZIPD.
Активное сообщество - Присоединяйтесь к растущему сообществу разработчиков, которые используют Lingui для создания глобальных продуктов.
Совместим с React-Intl -RAGE-API низкого уровня очень похож на React-Intl, а формат сообщения одинаково. Легко мигрировать существующий проект.
Краткий пример, как I18N выглядит с JSX:
import { Trans } from "@lingui/react/macro"
function App ( ) {
return (
< Trans id = "msg.docs" /* id is optional */ >
Read the < a href = "https://lingui.dev" > documentation </ a >
for more info.
</ Trans >
)
}Сообщение из этого компонента будет извлечено в следующем формате:
msgid "msg.docs"
msgstr "Read the <0>documentation</0> for more info."Для получения дополнительного примера см. Справочник примеров.
Если у вас есть проблемы, пожалуйста, сообщите нам об этом.
linguijs .Вклад в проект с открытым исходным кодом-это все: от распространения слова, написания документации для реализации функций и исправления ошибок.
Этот проект существует благодаря всем людям, которые вносят свой вклад. [Способствовать].
Проект лицензирован по лицензии MIT.