如何在 Quilljs (React) 中更改拼写检查语言

How to change the spellcheck language in Quilljs (React)

如何在 React quill.js 中更改拼写检查器的语言?

我的应用程序允许用户使用英语或西班牙语编辑内容,将结果保存到数据库中的不同位置。加载英文文本时,拼写检查很棒 - 但加载西班牙语文本时,整个内容都被拼写检查为英文。必须有一种方法可以即时更改...?

展示了如何完全禁用拼写检查器,但我找不到有关切换到不同语言的信息。

还请提供信息来源link,因为我一直在搜索但没有看到。

根据 quilljs source 可以看出,容器似乎只是一个普通的 HTML DOM 引用,为了禁用拼写检查而必须设置的属性来自 HTML 标准,所以我们可以推断拼写检查工作是由浏览器而不是 quill 完成的。

this Stack Overflow answer's update 中声明拼写检查尊重标签的 lang 属性,因此您需要做的是根据它应该使用的语言设置该属性。

为我认为可能有效的组件截取的代码

// For typings
import Quill from "react-quill";
import QuillEditor from "quill"

export const MultiLangQuill = ({ content, onChange, lang }) => {
  const ref = React.useRef<Quill & { editor: QuillEditor }>(null);

  React.useEffect(() => {
    ref.current?.editor.root.setAttribute("lang", lang);
  }, [lang]);

  return (
    <Quill
      // set the ref to access to quill editor
      ref={ref}
      theme="snow"
      value={content}
      onChange={onChange}
      modules={modules}
      formats={formats}
    />
  );
};