客户想要一个俄语和英语的博客。您已经在其他页面上启用了多语言功能——但事实证明,博客是一个独立的问题。
为什么Tilda上的博客是一个独立的任务
普通的Tilda页面是带有文本的区块。代理拦截HTTP请求并替换内容——Tilda对此一无所知。
博客不能这样做。Tilda中的博客通过集合工作:每篇文章都是集合中的一个条目,集合与项目关联。当用户打开/blog时,Tilda会动态地从当前项目的集合中提供条目。
博客的英文版本不是页面的翻译。它是单独集合中的一组独立文章。
三种不起作用的方案
直接翻译页面。代理会翻译界面:标题“博客”、按钮、元标签。但文章——标题、公告、内容——将来自相同的俄语集合。读者会进入一个带有英文界面和俄语文章的页面。
创建文件夹 /en/blog/。Tilda 允许创建文件夹,但一个项目中的所有页面都使用相同的语言设置。在一个项目中无法创建单独的语言博客。
复制项目。技术上可行。但任何模板更改都必须进行两次。如果添加第三种语言,则需要进行三次。对于五种语言,这已经无法管理。
通过代理如何工作
Multify 在路由层面解决问题。用户打开 mysite.com/en/blog — 代理识别请求并从英文集合中获取记录。Tilda 正常运行,只是每种语言都连接了其自己的流。
文章页面上的语言切换器会跳转到同一文章的翻译版本,而不是博客主页。这通过 slug 映射实现:如果 slug 匹配或明确指定了映射,则跳转是正确的。搜索引擎也会通过每篇文章的 hreflang 看到明确的内部链接。