es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Componente Weblate Discovery API no funciona.

Cuando creo un addon de weblate (descubrimiento de componentes) con la API REST,

**'curl -X POST -H "Content-Type: application/json" ' +
'-H "Authorization: Token **************" ' +
'-k -d "{'+
'\"name\":\"weblate.discovery.discovery\",' +
'\"configuration\":{'+
'\"match\":\"locales/(?P^[^/]*)/(?P^(?!__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 no obtiene automáticamente los archivos que subo en el repositorio git.

Para hacer que funcione, primero necesito hacerlo manualmente:

  1. ir a la página web del addon de descubrimiento en el navegador web,
  2. guardar el addon en el navegador web,
  3. aceptar la lista de archivos que coinciden con la plantilla en el navegador web.

Una vez que se haya hecho esto una vez, todos los archivos que subo en el repositorio git son descubiertos correctamente por weblate.

Sin embargo, nos gustaría hacer los pasos 1), 2) y 3) automáticamente con la API REST.

Intenté establecer los campos confirm y preview de nuestra solicitud CURL en false, pero no funciona.

¿Hay alguna manera de configurar la solicitud CURL para que weblate descubra los archivos sin pasos manuales?

Saludos cordiales.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Automatización del descubrimiento de complementos de Weblate con la API REST

    Cuando se crea un complemento de Weblate con la API REST, es posible que los archivos enviados al repositorio de Git no se descubran automáticamente por Weblate. Para lograr un descubrimiento automático sin intervención manual, se deben seguir los siguientes pasos:

    1. Establecer los campos confirm y preview de la solicitud CURL en false.
      'confirm': false,
      'preview': false,
      
    2. Utilizar el método PUT en lugar de POST en la solicitud CURL para actualizar el complemento en lugar de crear uno nuevo.
      curl -X PUT -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': false, \
                     'preview': false }, \
                 'url': ''}" \
          http://127.0.0.1/api/components/repositoryname/__template__fr/addons/
      

      Al seguir estos pasos, Weblate descubrirá automáticamente los archivos enviados al repositorio de Git sin ninguna intervención manual.

    Un cordial saludo.

Comments are closed.