多语言 WordPress 网站,包含 2 种语言的特定语言内容并为他人自动翻译

如何解决多语言 WordPress 网站,包含 2 种语言的特定语言内容并为他人自动翻译

我为德国的一位客户建立了一个 WordPress 网站。我使用 WordPress 现有的博客文章后端,但是,向数据库添加了一个自定义表 - 这存储了其他页面(如“关于我们”、“联系我们”等页面)的文本内容。这些页面使用 page-slug.php 拥有自己的自定义模板。我将自己的管理页面和表单添加到 WordPress 面板。在这里,我的客户可以填写表格并将内容反映在网站上。他用德语填写了表格。在 Chrome 中,一旦页面加载,谷歌翻译就会自动将内容翻译成访问者浏览器使用的任何语言。然而,自动翻译成英语听起来不太好,所以他想要一个完全相同的形式,他可以在那里写所有相同部分(标题、正文等)的内容,但用英语 - 他会用的方式翻译它。

现在,对于我当前的设置,每个页面都会查询我的自定义表以获取该页面的内容。继续允许自动翻译成其他语言,但有一个特定的德语版本和另一个特定的英语版本的最佳方法是什么?

我考虑这样做的方式是向表中添加一列,用于存储该行内容的语言代码 - en、de 等。然后,我将在 domain.com 上以德语加载站点,然后在导航栏中,添加链接到特定语言版本的标志图标。因此,“en”的英国标志,“de”的德国标志等。这些将使用在 URL 中带有参数的链接,如 domain.com/?lang=en。使用 php,我会检查语言参数的设置(如果未设置,则默认为德语)并相应地显示相应的内容。这只是我想到的一个简单、合乎逻辑的方法 - 但我相信人们以前遇到过这个问题,并且会有一个优化的、有效的解决方案。

另一种方法是拥有两个单独的页面,例如 domain.com/en/ & domain.com/de/ 甚至 en.domain.com & de.domain.com。我不知道我是如何设置的。看到了一些关于将语言文件夹添加到您的自定义主题,然后在那里放入不同版本的内容,但我不确定它是如何工作的,或者我将如何使用我当前的方法来使用它。

所以基本上,我试图在以下位置显示相同的站点(图像、部分、样式是不变的 - 只有文本内容会改变):

  1. 具有专门翻译内容的两种不同语言,以及
  2. 具有自动翻译内容的许多其他语言

请记住以下几点:

  1. 除非绝对必要或非常有益,否则我不想显着改变我当前的设置
  2. 我需要为德语和英语版本使用特定内容,但可以将其自动翻译成任何其他语言
  3. 性能和效率最重要,但我也很想知道我建议的两种方法(或您可能建议的不同方法)会对 SEO 产生什么样的影响。

另外,我应该提到这对于帖子来说并不是什么大问题,我们可以使用自动翻译,因为它是非常自然的文本,并且可以翻译成基本相同的含义。具有特定模板的页面(front-page.php 和所有 page-slug.php 页面)需要它,因为那里需要使用特定的单词和短语。我还查看了有关多语言网站的 WordPress 文档,检查了有关此问题的 stackoverflow 和其他地方的其他答案,但鉴于我的具体设置和结构,运气不佳。如果我可以提供任何其他信息来帮助您回答这个问题,请告诉我,感谢您抽出一天的时间通读一遍!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-