更改默认语言不会更改网站的标题或描述!

我尝试在其他语言(非英语)的自定义选项中编辑网站标题,但加载页面后,网站标题仍显示为英语。

更改默认语言没有任何效果,无论我选择什么语言,标题和描述都保持不变。

你能看看这个吗 @Falco

这些是站点设置对吧?据我所知,它们与语言环境无关,因此您需要手动编辑并填入您首选语言的内容。

不确定您为何会有自动翻译的期望,能否详细说明一下?

抱歉,我不明白您在这里的目标是什么。

您是否为每个语言环境想要不同的标题?

是的,正是我想要的 @Falco

每个语言环境使用不同的标题描述,因为我希望启用“从 Accept-Language 请求头设置语言环境”的功能。

哦,我明白了。目前我们认为我们不支持该功能。

我们网站的所有设置都不是基于语言环境配置的,只有 UI 字符串支持这一功能(即您可以在自定义管理屏幕下更改的那些字符串)。

这是一个合理的功能请求,但要实现得恰到好处可能颇具挑战性。

我修改了 js.login.header_title 并启用了“从 Accept-Language 请求头设置语言”,这样会根据语言环境加载正确的 header_title,但标题和描述并未随之更改?

是否无法使用服务器端语言环境和客户端特定语言文件来覆盖 UI 版本?当论坛被西班牙语用户使用时,我希望标题和描述显示为西班牙语而非英语。:face_with_raised_eyebrow:

您可以使用西班牙语填写这些站点设置,它们将仅显示西班牙语。

问题在于,启用“从 Accept-Language 请求头设置区域设置”后,除网站标题和描述外,所有内容都会显示为西班牙语。

如果来自土耳其的其他用户访问该网站,他们将看到所有内容均为土耳其语,但标题和描述仍始终为英语,这是一个严重的问题。

此外,所有主题和帖子都将以其原始语言撰写。

虽然 Discourse 可用于多语言社区(例如为每种语言设立专属分类,或严重依赖 Discourse Translator 插件),但 Discourse 并非,且目前也不旨在成为能够通过单个实例提供 100% 本地化体验的软件。

这为您提供两种选择:

  • 在单个实例中接受尚可但非 100% 的体验。

  • 为贵公司/服务的每个语言环境部署不同的 Discourse 实例。

我们有客户同时使用这两种方案,但每种方案各有优劣。关于此主题,在 Topics tagged multi-lingual 标签下有许多讨论。

站点语言是一项设置,用于告知 Discourse 为每种语言环境使用不同的文本。这些文本包含在你的 Discourse 安装中。据我所知,用户或管理员手动输入的任何内容都不会根据语言设置而改变。

很久以前我写了一个很简单的 PHP 脚本,它使用 GeoIP 服务来查找用户的国家,然后通过 Google Translate API 自动将部分站点文本翻译成该国家的母语。

当你在说不同的语言时,会改变的名字吗?网站为什么要这样做呢?

不过,我认为你可以轻松地创建一个主题组件来实现这一功能。如果成千上万使用 Discourse 的人中有谁需要这个功能(并且也认为不随语言环境更改标题是荒谬的),那么应该已经有一个成熟的主题组件可供使用了。但现在,你找到了一个贡献的机会。根据你希望为每种语言环境自定义的内容数量,我估计这需要 250 到 1000 美元的工作量(如果你具备相应的技能和意愿,也可以自己完成)。

实际上,使用 schema.org 可以描述多个或相同的 thingLanguage - Schema.org Type

添加一个 CreativeWork 属性,其 URLhttp://example.org/c/espanol,并包含自定义的 titledescriptioninLanguagehttps://schema.org/inLanguage。

将它们添加到:
https://example.org/admin/customize/themes/1/common/head_tag/edit

搜索引擎将理解这一点,即不同类别使用不同语言,您可以使用 schema.org 为它们指定任意 titledescription 等。每个 CreativeWork 都是一个代表某种语言的 category

您可以在头部添加任意数量的 CreativeWork

这样您就无需修改 Discourse 本身,同时可以向搜索引擎表明您的主站 XYZ 在不同语言中的名称。