Распространённые проблемыНе удалось декодировать ответ сервиса ИИ как JSON
Не удалось декодировать ответ сервиса ИИ как JSON
Gato AI Translations for Polylang отправляет промпт сервису ИИ, и ответ приходит в формате JSON.
В зависимости от передаваемых данных (строки для перевода и язык) сервис ИИ может вернуть ответ, который не является допустимым JSON. В журналах появится сообщение об ошибке следующего вида:
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Каждый раз, когда мы обнаруживаем новую проблему, мы корректируем промпт, чтобы предотвратить её повторение.
В настоящее время промпт содержит следующее:
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.Если вы получили ошибку, значит, это новая проблема, которую нам необходимо выявить и устранить.
Выполните следующие действия:
- Постарайтесь понять, в чём заключается проблема
- Настройте промпт, чтобы решить её
Как только всё заработает, отправьте нам свой промпт, и мы закрепим это решение непосредственно в плагине.