Problèmes courants
Problèmes courantsImpossible de décoder en JSON la réponse du service d'IA

Impossible de décoder en JSON la réponse du service d'IA

Gato AI Translations for Polylang envoie un prompt au service d'IA, et la réponse est au format JSON.

Selon les données que vous envoyez (chaînes à traduire et langue), le service d'IA peut produire une réponse qui n'est pas un JSON valide. Les logs afficheront un message d'erreur comme celui-ci :

Error [Query "translate-customposts"] Execution with errors: 🔴 Translation to zh_CN failed - There was an error requesting data from the API for provider 'OpenRouter': Could not JSON-decode the OpenRouter API's 'choices[0].message.content' field in the response

Chaque fois que nous découvrons un nouveau problème, nous ajustons le prompt pour éviter qu'il se reproduise.

Actuellement, le prompt contient ce qui suit :

If a sentence contains HTML:
- Translate the text inside the HTML tags. (eg: `<p>Hello world</p>` => `<p>Hola mundo</p>`)
- Translate the following properties inside the HTML tags: alt, title, placeholder, aria-label, aria-describedby, aria-labelledby, aria-placeholder. Do not translate any other property.
- Ensure that any double quotes (") within a translated string inside an HTML tag attribute are properly escaped by adding a backslash before them (\"), but only if they haven't been escaped already.
- Ensure that the quotes in HTML tag attributes are not escaped (eg: keep `<mark class="has-inline-color">` as is, do not convert to `<mark class=\"has-inline-color\">`).
- Ensure that slashes within HTML tags are not escaped (eg: keep `<p>Hello world</p>` as is, do not convert to `<p>Hello world<\/p>`).
Keep emojis exactly as they are, do not translate them.
Ensure that the response is encoded using UTF-8 for all characters.

Si vous obtenez une erreur, c'est un nouveau problème que nous devons identifier et résoudre.

Faites ce qui suit :

Une fois que cela fonctionne, envoyez-nous votre prompt et nous intégrerons cette solution directement dans le plugin.