Эта документация была автоматически переведена ИИ.
I18n
В плагинах NocoBase поддерживается многоязычная интернационализация (i18n) как для фронтенда, так и для бэкенда. Благодаря унифицированному механизму вы можете легко реализовать многоязычный контент в своих плагинах.
Управление многоязычными файлами
Файлы локализации для плагинов хранятся в каталоге src/locale. Рекомендуется называть их по языку, например:
Каждый языковой файл экспортирует JSON-объект, содержащий все переводы для этого языка, например:
При первом добавлении языковых файлов необходимо перезапустить приложение, чтобы изменения вступили в силу. Вы можете проверить записи перевода через API:
http://localhost:13000/api/app:getLang?locale=zh-CN
Глобальный экземпляр i18n
app.i18n — это глобальный экземпляр i18n, подходящий для использования в CLI или в глобальных сценариях плагинов. Его можно комбинировать с inquirer для реализации взаимодействия через командную строку:
app.i18n.t(text, options)используется для перевода текста и поддерживает шаблонные переменные.
i18n в контексте запроса
ctx.i18n каждого запроса является клоном глобального экземпляра i18n и независимо предоставляет многоязычную информацию в зависимости от языка клиента.
Установка языка клиента
- Query String:
- Request Header (Рекомендуется):
Использование в middleware
При обращении к http://localhost:13000/api/test-i18n?locale=zh-CN будет возвращено 你好.
i18n внутри плагина
Внутри плагинов вы можете напрямую использовать plugin.t(key, options) для получения переводов:
plugin.t(text)эквивалентноctx.t(text, { ns }).
Связанные API
app.i18napp.t(text, options)ctx.i18nctx.t(text, options)plugin.t()tExpr(text, options)

