Weblate 组件发现 API 不起作用
Posted
技术标签:
【中文标题】Weblate 组件发现 API 不起作用【英文标题】:Weblate component Discovery API not Works 【发布时间】:2022-01-23 15:01:10 【问题描述】:当我使用 REST API
创建一个 weblate
插件(组件发现)时,
**'curl -X POST -H "Content-Type: application/json" ' +
'-H "Authorization: Token **************" ' +
'-k -d "' +
'\\"name\\":\\"weblate.discovery.discovery\\",' +
'\\"configuration\\":' +
'\\"match\\":\\"locales/(?P^<language^>[^^/]*)/(?P^<component^>(?!__TEMPLATE__) ([^^/])*)\\\\.json\\",' +
'\\"file_format\\":\\"i18next\\",' +
'\\"name_template\\":\\" component _fr\\",' +
'\\"base_file_template\\":\\"locales/fr/component.json\\",' +
'\\"new_base_template\\":\\"locales/fr/component.json\\",' +
'\\"language_regex\\":\\"^^[^^.]+$\\",' +
'\\"copy_addons\\":true,' +
'\\"remove\\":false,' +
'\\"confirm\\":true,' +
'\\"preview\\":true,' +
'\\"url\\":\\"\\"' +
'" http://127.0.0.1/api/components/repositoryname/__template__fr/addons/'**
weblate
不会自动获取我在git
存储库中推送的文件。
要让它工作,我首先需要手动
-
在网络浏览器中转到发现插件网页,
在网络浏览器中保存插件
在网络浏览器中接受与模板匹配的文件列表。
一旦完成一次,我在git
存储库中推送的所有文件都会被weblate
正确发现。
但是,我们希望使用 REST API
自动执行 1)、2) 和 3) 步骤。
我尝试将 CURL
请求的确认和预览字段设置为 false,但它不起作用。
有没有办法配置CURL
请求,以便weblate
无需任何手动步骤即可发现文件?
热烈的问候。
【问题讨论】:
【参考方案1】:它应该工作。我已经 just added 测试将其覆盖到我们的测试套件中。
我的猜测是 JSON 请求中有问题 - 可能没有正确转义或转义太多?
curl 请求以什么结尾?您使用什么 Weblate 版本?
PS:版本信息是posted here。您需要升级,这已在b9646f23174 中修复。
【讨论】:
感谢您的回答。我已将 weblate 升级到最新版本,现在它可以工作了。谢谢。以上是关于Weblate 组件发现 API 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Vue 3 Composition API 提供/注入在单个文件组件中不起作用