У меня i18n отлично настроен и работает с темами и плагинами сайта Docusaurus.
Но для домашней страницы у меня есть компонент Foo.js
, расположенный в src/components/Foo.js
.
Он содержит const Bar = 'happy';
Это текстовая строка, которая будет частью HTML, возвращаемого компонентом, и я хочу, чтобы она была переведена.
Я думаю, это должно быть возможно; в документации указано:
JSON используется для перевода: Ваш код React: автономные страницы React в src/pages или других компонентах
и
code.json # Any text label present in the React code
Текст Bar
не извлекается с помощью docusaurus write-translations
.
Должен ли я добавить вручную в code.json
? Если да, то какой правильный ключ использовать?
Спасибо заранее за вашу помощь.
Вам нужно импортировать компонент Translate
и использовать его для переноса переводимых строк в ваш собственный код.
Подробности и примеры можно найти в разделе Переведите код React в документации Docusaurus i18n.
В вашем примере вы получите что-то вроде:
import Translate from '@docusaurus/Translate';
const Bar = <Translate id = "mcall.foo.bar">happy</Translate>