问题 #2380💬 已回答提出于 2019年11月6日作者 varadero1 个反应

支持页面内容的多种语言

快速解答作者 varadero1

关闭的 s 复制品 https://github.com/artf/grapesjs/issues/2342

阅读下方完整回答 ↓

问题

我们需要的是创建一个页面,但将文本内容翻译成多种语言。想象一个非常简单的示例,只有一个文本块写着“Hello”——我们不想强迫用户创建另一个页面,里面有同样的文本块,用不同的语言表达同样的内容。想象一下,页面必须翻译成10种语言,而页面有20个文本块——要用不同文本克隆并维护包含相同组件的页面克隆会太困难(新增文本字段需要在每个克隆中添加,而这没人愿意做)。有没有什么办法可以用当前的 GrapesJS 实现这一点,比如一个下拉菜单,可以在不同的“集合”文本内容之间切换,让用户可以选择一种语言,然后去更改该语言的文本内容,或者他想要的任何组件?

我曾考虑在 StoreManager 的“store”函数中存储“data”对象,但如果用户切换语言并添加新组件,这样效果就不好——那么当前语言对象和其他所有语言对象会变得不同(其他语言对象没有为当前语言添加新组件)。

回答(3)

varadero2019年11月6日

@pouyamiralayi 但那里提到的 i18n 不就是个模块,可以让你翻译 GrapesJS 本身,而不是用户创建的内容吗?

相关问答

通过相似的问题讨论继续研究。

问题 #2315

允许从 StorageManager 的 '.load' 和 '.store' 方法返回承诺

这将提供比当前基于回调的方法更现代、更简洁的 API。 拟议API: “JavaScript 编辑。StorageManager.add('simple-storage', { 加载:异步键 => { const result = await foo(keys) return...

3 个回答更新于 2022年4月13日

问题 #6064

在程序中设置文本内容会在画布中清除

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? V126 可复制演示链接 https://jsfiddle.net/r5062suy/1/ 描述一下那个虫子 如何复现这个漏洞?运行演示链接(https://jsfiddle.net/r5062s...

4 个回答更新于 2024年8月21日

问题 #4497

从 v18.4 更新到 GrapesJS v19.5 会导致 Chrome 变得无响应

葡萄JS版本[x] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome 104.0.5112.79可复制演示链接 https://jsfiddle.net/gvrnw2c3/4/描述一下那个虫子 如何复现这个漏洞? 我目前无法用 jsfiddle 重现这个...

4 个回答更新于 2023年7月27日

问题 #5042

每次调用 editor.loadData(data, opts) 时,都会触发编辑器中定义的存储方法。Storage.add(“api-remote”, {...}),该文件记录“api-remote store”消息

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 最新版本的Chrome浏览器 可复制演示链接 无效 描述一下那个虫子 如何复现这个漏洞? 很简单 预期的行为是什么? 我想用editor.load加载数据和切换页面,但我不想要编辑器。每次都要叫储...

2 个回答更新于 2023年4月11日

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

浏览插件分类

直接跳转到市场上的插件分类页面。