我在 app.yml 中将所有内容更改为默认值 (en),然后运行了 ./laucher rebuild app。之后,默认语言变为英语 (US),其行为与更改默认区域设置之前的任何更改都自行恢复一样——这意味着 UI 接受了更改,当我接受更改(例如,更改为 Deutsch)然后进入管理中的另一个选项卡然后返回时,它又变回了英语 (US)。
这是否意味着对默认区域设置的任何更改都必须始终通过更改 app.yml 和重建应用程序来完成?
在我通过 app.yml 将默认区域设置更改为英语 (US) 后,我可以使用替换文本按钮将所有文本(例如 TOS 等)从之前的德语更改为英语(因为这是默认区域设置)。这奏效了。但是,当我尝试将所有文本(例如,从现在的英语新文本更改为德语)时,却不起作用。
这是否意味着替换文本仅适用于 discourse 实例的默认区域设置?
1 个赞
@gerhard
为了开始我的测试,我设置了 DISCOURSE_DEFAULT_LOCALE : de_formal 并运行了 ./launcher rebuild app。然后我使用相应的按钮替换了所有文本。
在我的测试实例上需要登录。当我注销时,我收到消息:
Ein Konto ist erforderlich. Bitte frage ein existierendes Mitglied nach einer Einladung oder melde dich an, um fortzufahren.
管理后台中对应的文本是“login_required.welcome_message_invite_only”。我在 transifex 中仔细检查过,没有未翻译的字符串包含此文本。但是 discourse(使用 Deutsch(Sie) 运行)仍然显示非正式文本。
transifex 中的源语言文件是否缺少某些文本?
1 个赞
@gerhard
我已找到解决方案。原因是“根据接受语言标头设置区域设置”的设置。我启用了此设置,导致出现非正式文本,因为我的浏览器的语言标头没有显示“de_formal”。
2 个赞
@gerhard
我是否可以自己从 Transifex 更新 Discourse 的翻译,还是每次都需要请你更新插件?
我目前缺少一个 Discourse 的键,该键在 Transifex 上无法进行翻译:
discourse_narrative_bot.new_user_narrative.hello.title
你知道在哪里可以找到它,或者为什么它在 Transifex 上不可用吗?
2 个赞
gerhard
(Gerhard Schlager)
46
是的,那个字符串丢失了,因为它在插件中,我现在没有时间来修复它。可能需要等到我找到时间将它移到 Crowdin 并实现一个适当的自动化解决方案。
我将尝试每周从 Transifex 进行更新。这是我现在能做的最好的了。抱歉。我将在未来几个月内努力寻找一个更好的解决方案。
3 个赞
@gerhard
您能更新一下翻译吗?提前感谢。
最好能找到一个我自己就能完成的解决方案。有什么方向吗?
2 个赞
gerhard
(Gerhard Schlager)
48
1 个赞