Hmm. « File ended while scanning use of .... » est essentiellement le résultat d'une erreur d'analyse : il y a une erreur dans le fichier USFM (final) ou dans la manière dont il est lu, où quelque chose attend un marqueur de fin et ne le reçoit pas.
Cela ne vous aide pas beaucoup, alors j'ai creusé davantage : \@nxxt est utilisé comme partie d'une macro qui récupère le paramètre pour un identifiant comme \h ou \id, où *tout* autre marqueur met fin au paramètre. (\h et \id ne peuvent être suivis que de texte non marqué, pas de USFM général).
Mon hypothèse est que votre SFM final se termine par \h ou \id, OU qu'il y a un marqueur dans \h ou \id qui attend un paramètre.
ex. \h something \c <FIN DE FICHIER>
-----------
Explication trop détaillée :
Lors du traitement de \h, il lit chaque lettre de « something », en les ajoutant au paramètre stocké jusqu'à ce qu'il lise quelque chose qui n'est pas une simple lettre. Cette non-lettre est assignée à \@nxxt (la macro définie par \c n'est certainement pas une simple lettre). Il ferait alors ce qui est nécessaire avec le paramètre « something », puis exécuterait la macro mémorisée \@nxxt.
\c (et donc \@nxxt) s'attend à lire un numéro de chapitre terminé par un espace (les nouvelles lignes comptent) ; si le fichier se termine avant que ce numéro de chapitre et l'espace de fin ne soient trouvés, vous déclencherez l'erreur.
------------
De même, si la première chose après \h / \id n'est pas un style de paragraphe mais plutôt un \k, et qu'il n'y a pas de \k* pour marquer la fin du mot-clé, vous obtiendrez la même erreur. Il y a quelques situations encore plus étranges, mais j'espère que c'est un indice suffisant.
Vous devez lire attentivement le SFM final (voir l'onglet afficher/éditer) pour le glossaire, le comparer avec le glossaire original et découvrir où se trouve le problème.