Repository navigation
Conversation
Estemobs
pushed a commit
that referenced
this pull request
Aug 26, 2026
Co-authored-by: Renovate Bot <renovate@estemobs.local> Co-committed-by: Renovate Bot <renovate@estemobs.local>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Résumé
UltimateChatTranslator est un mod Minecraft Fabric qui traduit automatiquement les messages du chat, les panneaux et les menus en jeu vers la langue choisie par le joueur. Le projet est bien structuré, avec une séparation claire entre la logique de traduction, les mixins, la configuration et l’intégration Mod Menu. Il utilise l’endpoint public de Google Translate (sans clé API), ce qui simplifie l’installation mais présente des risques de stabilité et de respect des conditions d’utilisation. Le code est globalement lisible, mais quelques points de vigilance ont été identifiés, notamment dans la gestion du cache, le script de build et la couverture de tests.
Problèmes et bugs potentiels
TranslationService.java) : cette mĂ©thode est non officielle, peut ĂŞtre limitĂ©e en dĂ©bit, bloquĂ©e par Google, et ne garantit pas la pĂ©rennitĂ© du service. Elle ne permet pas non plus de choisir un moteur de traduction alternatif.WorldTextTranslationCache.java) : lesConcurrentHashMapRESOLVEDetPENDINGne sont jamais purgĂ©es, ce qui peut entraĂ®ner une croissance mĂ©moire illimitĂ©e en cas de nombreux messages uniques. LesWeakHashMapsont corrects pour les objets Minecraft, mais les maps statiques restent un risque.build.sh: il utilisesudopour installer des paquets système, ce qui est inadaptĂ© pour un environnement CI ou un utilisateur sans droits. La lignesudans l’extrait semble ĂŞtre une erreur de copie ou une commande incomplète.ChatHudMixin.java,SignBlockEntityRendererMixin.java, etc.) : les injections sont faites ĂHEADet peuvent ĂŞtrecancellable. Il faut vĂ©rifier que la logique de traduction ne bloque pas l’affichage des messages originaux en cas d’erreur rĂ©seau ou de traduction.ModMenuIntegration.java) : le code crĂ©e de nombreux boutons sans gestion de la disposition responsive ; sur des petites fenĂŞtres, les boutons peuvent se chevaucher.MenuLocalization.java) : les chaĂ®nes sont en dur, mais certaines langues peuvent manquer (ex. le chinois est prĂ©sent, mais pas l’arabe, le hindi, etc.). De plus, les traductions ne sont pas externalisĂ©es dans des fichiers de ressources, ce qui complique la maintenance.QualitĂ© du code et nettoyage
build.sh,README.md). Cela peut nuire à la lisibilité pour une communauté internationale.ModMenuIntegration.javaest répétitive ; une boucle ou une structure de données serait plus propre.fabric.mod.jsona été supprimé dans un commit, mais il est toujours présent dans l’arborescence. Il faut vérifier que la suppression est volontaire (peut-être un oubli).ChatTranslationRulesTest,ConfigScreenStateTest,MenuLocalizationTest) sont bien écrits, mais ils ne couvrent pas les parties critiques (traduction réseau, mixins, cache).Nouvelles fonctionnalités à envisager
Tests manquants
TranslationService.java: tests unitaires pour les appels réseau (mock de la réponse, gestion des erreurs, timeout).ChatHudMixin.java: tests d’intégration pour vérifier que le message est bien traduit et que le bouton est ajouté.WorldTextTranslationCache.java: tests pour la résolution des traductions, la gestion des caches et la purge.ModMenuIntegration.java: tests de l’écran de configuration (affichage, clic sur les boutons, sauvegarde).ChatMessageDispatcher.java: tests de la logique de dispatch des messages.Chat_language_translateClient.java: tests du chargement de la configuration et de l’initialisation.Dépendances et sécurité
build.sh: l’utilisation desudoet deapt/pacmanest intrusive. Il serait préférable de vérifier les prérequis et de laisser l’utilisateur installer les dépendances manuellement, ou de fournir un Dockerfile.SECURITY.md: présent, mais il ne mentionne pas les risques liés à l’endpoint public de Google Translate.Suggestions prioritaires (top 5)
build.sh: retirer les commandessudoetsu, et fournir une option--no-installpour les environnements CI. Vérifier que le script fonctionne sur les distributions principales.TranslationService,ChatHudMixin,WorldTextTranslationCache. Cela permettra de détecter les régressions et d’assurer la stabilité.ConcurrentHashMap(ex. après un certain temps ou un nombre d’entrées) pour éviter les fuites mémoire.lang/en_us.json,lang/fr_fr.json). Cela facilitera la contribution et la maintenance.