我已使用 Web 管理界面更改了许多 Discourse 字符串。为了方便[1] 我忽略了非英语版本。当然,这意味着它们不同步。
在 Fedora 中,我们使用 Weblate 进行社区驱动的翻译。(请参阅 https://translate.fedoraproject.org/)。我很想将其连接起来,理想情况下是实现一个完全自动化的工作流程,当通过管理界面更新英文字符串时,它会被发送到 Weblate,而当有翻译时,它会返回。
完成此任务的最佳方法是什么?
懒惰。 ↩︎
我已使用 Web 管理界面更改了许多 Discourse 字符串。为了方便[1] 我忽略了非英语版本。当然,这意味着它们不同步。
在 Fedora 中,我们使用 Weblate 进行社区驱动的翻译。(请参阅 https://translate.fedoraproject.org/)。我很想将其连接起来,理想情况下是实现一个完全自动化的工作流程,当通过管理界面更新英文字符串时,它会被发送到 Weblate,而当有翻译时,它会返回。
完成此任务的最佳方法是什么?
懒惰。 ↩︎
使用我们的 API 实现集成,您将:
这是初步的概述。我们正在研究量化现有限制,因为我们当前的 API 只返回固定数量的翻译覆盖。这意味着我们需要更改该 API 端点才能使其工作。
轮询似乎没问题——翻译也不会是即时的。但是轮询_东西_需要以某种方式进行跟踪吗?如果它可以是无状态的,那就好了……
您的网站无需跟踪任何内容。您应该能够以无状态方式实现它。
GET 请求:/admin/customize/site_texts.json?locale=en&overridden=true&page=0调整 locale 参数以满足您的需求。API 返回最多 50 个结果,并支持分页(page 参数)。
当有更多结果时,JSON 将包含 { "extras" : { "has_more" : true } }。
PUT 请求来完成的:/admin/customize/site_texts/<id>将 <id> 替换为您要翻译的字符串的 ID,例如“js.user.username.instructions”。
PUT 请求的负载必须是表单数据(Content-Type:application/x-www-form-urlencoded; charset=UTF-8),并且必须包含以下属性:
site_text[value]:翻译site_text[locale]:区域设置,例如“en”本质上,您需要使用与自定义文本管理员界面相同的 API 调用。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.