JSONDecodeError: Expecting value: line 1 column 1

Bonjour, j’ai eu un peu de mal à le faire fonctionner mais j’ai des trous dans ma logique :wink:

Maintenant ça marche bien, merci @Mips mais j’ai activé le mode debug et j’ai tout le temps un message d’erreur lors de l’action. Apparemment cela ne gène pas la traduction:

[INFO] : =====================================================
[INFO] : Read plugin translations file...
Traceback (most recent call last):
  File "/home/runner/work/_actions/Mips2648/plugins-translations/main/src/translate_plugin.py", line 325, in <module>
    TranslatePlugin().start()
  File "/home/runner/work/_actions/Mips2648/plugins-translations/main/src/translate_plugin.py", line 90, in start
    self.get_plugin_translations()
  File "/home/runner/work/_actions/Mips2648/plugins-translations/main/src/translate_plugin.py", line 281, in get_plugin_translations
    self._get_translations_from_json_files(self._plugin_root/TRANSLATIONS_FILES_PATH)
  File "/home/runner/work/_actions/Mips2648/plugins-translations/main/src/translate_plugin.py", line 297, in _get_translations_from_json_files
    data = json.loads(file.read_text(encoding="UTF-8"))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.8/x64/lib/python3.12/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.8/x64/lib/python3.12/json/decoder.py", line 338, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.8/x64/lib/python3.12/json/decoder.py", line 356, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Error: Process completed with exit code 1.
##[debug]Finished: run

Pour l’instant je n’ai demandé que en_US et de_DE. Ci dessous le fichier translations.yml:

name: translate

on:
  workflow_dispatch:
  push:
    branches:
      - develop

jobs:
  auto-translate:
    runs-on: ubuntu-latest
    steps:
      - uses: Mips2648/plugins-translations@main
        with:
          deepl_api_key: ${{ secrets.DEEPL_API_KEY }}
          include_empty_translation: false
          target_languages: "en_US,de_DE"
          debug: true

Salut,
tu dois avoir un soucis avec ton fichier json;
peux-tu montrer une copie?

je l’ai passé au test sur un site mais rien ne semble bloquer. Le voici pour le en_US.json:

en_US.json.txt (6,1 Ko)

Question subsidiaire, j’ai un fichier dans un répertoire 3rdparty qui ne semble pas être pris en compte dans l’opération de traduction, c’est normal ou j’ai manqué qq chose?

https://community.jeedom.com/t/github-action-pour-traduire-vos-plugins/129282/52

Merci pour la réponse, à y réfléchir le fichier qui est dans ce répertoire ne doit peut-être pas être au bon endroit. C’est un fichier api pour interroger un serveur

ton fichier est bien encodé en utf8?

et faudrait vérifier le fichier allemand aussi

ces fichiers existaient déjà avant le premier run?

Il y en avaient des vides puis comme je n’arrivais pas à faire la traduction je les ai effacés et ça ne marchait toujours pas, j’ai ensuite pris ces fichiers dans un plugin où ta traduction fonctionne et j’ai effacé le contenu et puis je ne sais plus trop ce que j’ai fait en plus… Je vais repartir de 0. Comment tu vérifies l’encodage d’un fichier?

ca dépend de ton éditeur :wink:
j’utilise vscode, en bas à droite =>
image


autre chose: es-tu sur d’avoir bien donné les droits sur le repo?

Oui ça j’en suis sûr. Ça traduirait quand même sans les droits?

pareil pour vscode et oui il est en utf-8

Supprimes les fichiers, ne les laisses pas vide
je vais essayer de reproduire avec des fichiers vides et de protéger ce cas

le problème c’est qu’on ne sait pas pour quel fichier on a cette erreur

Si on n’a aucun fichier dans i18n ça va les créer?

oui, ca va créer les fichiers ou le répertoire s’il faut

il est où ton repo? pcq celui-ci est vide: GitHub - noyax/myToyota: Plugin pour mytoyota developpé pour jeedom

y’ai eu un pb avec ce compte, maintenant c’est là: GitHub - Noyax-37/myToyota: Plugin pour mytoyota developpé pour jeedom

Doit y avoir un pb chez moi car ça ne créé pas les fichiers (enfin c’est plutôt moi qui ai dû faire qq chose qui ne va pas…)

mais si tout va bien, la PR est là: Update translations by github-actions[bot] · Pull Request #12 · Noyax-37/myToyota · GitHub

elle n’y était pas quand je suis parti de chez moi pour aller faire des courses… mais tant mieux si ça arrive

alors là déjà pour l’anglais j’aurai du mal à dire mais alors pour l’allemand… Tu n’es pas obligé de passer par deepl si j’ai bien compris, déjà le programme de @Mips va te créer les fichiers de traduction avec dedans tous les textes à traduire mais avec aucune traduction. Du genre pour le fichier de_DE.json:

{
    "plugins\/myToyota\/core\/ajax\/myToyota.ajax.php": {
        "401 - Accès non autorisé": "",
        "Aucune méthode correspondante à": ""
    },
   ...
}
1 « J'aime »

ah voila, je reproduis dans un test unitaire (toute mes modifs plus tot dans la journée c’était du refactoring pour que les unittest soient possibles:
donc là j’ai un test qui créé un fichier fake malformé et ca crash pareil :partying_face:


plus qu’à fixer mais ca c’est la partie facile :sunglasses: surtout que je savais déjà où se trouvait le problème

1 « J'aime »