Skip to content

Ajout des Traductions en anglais#1337

Open
iambibi wants to merge 12 commits into
ServerOpenMC:masterfrom
iambibi:feat/english_translations
Open

Ajout des Traductions en anglais#1337
iambibi wants to merge 12 commits into
ServerOpenMC:masterfrom
iambibi:feat/english_translations

Conversation

@iambibi

@iambibi iambibi commented Jul 9, 2026

Copy link
Copy Markdown
Member

Petit résumé de la PR:

Ajout des traductions en anglais, fait avec IA (uniquement la génération des .properties), majoritairement voté dans le staff.

Étape nécessaire afin que la PR soit fini (si PR en draft)

  • Suivre le Code de Conduite
  • Enlever tous les imports non utilisés
  • Bien documenter la feature
  • Fournir un profileur (si besoin/demandé par un admin)
  • Avoir une milestone associée à la PR
  • Valider tout les checks
  • Tester et valider la feature/changement
  • Les Issues corrigée(s) en commun :

Decrivez vos changements

@iambibi iambibi self-assigned this Jul 9, 2026
@iambibi iambibi added the 🆙 Amélioration Une amélioration sur quelque chose label Jul 9, 2026
@iambibi iambibi marked this pull request as draft July 9, 2026 20:24
@iambibi

iambibi commented Jul 9, 2026

Copy link
Copy Markdown
Member Author

Je mets en draft, y'a des bugs, certains utilisent bcp translation string or ça prends le fallback donc pas la langue anglaise.

@iambibi iambibi added ✨ Fixes Quelque chose a été patch 💣 Change DB Il y a eu un changement dans la DB ! A faire attention labels Jul 11, 2026
@iambibi

iambibi commented Jul 11, 2026

Copy link
Copy Markdown
Member Author

Y'a juste les translations des notations (translationString) que j'arrive pas a changer. Mais le principal est traduit

@iambibi iambibi added this to the 2.5.0-beta-1 milestone Jul 11, 2026
@iambibi

iambibi commented Jul 11, 2026

Copy link
Copy Markdown
Member Author

cette PR passera surement dans la 2.5.0-beta-1 car y'a beaucoup de changements qui peuvent casser les systemes (dans les .yml, dans la db, ...)

@iambibi iambibi marked this pull request as ready for review July 11, 2026 10:05
@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

oyéoyé, faudrait review qd meme, je sais que je suis le principal dev mais j'aime bien aussi les reviews de mon code..., on peut tjr s'améliorer... (d'ailleurs j'ai remarqué que j'utilise les bossbar de bukkit qui utilisent que un string comme nom, faudrait que je change ça)

@gtolontop

Copy link
Copy Markdown
Contributor

Coucouuuu comme personne a fais je me permet 🤓☝️

@gtolontop

Copy link
Copy Markdown
Contributor

Les champs persistés camp1 et camp2 ont été renommés en keyCamp1 et keyCamp2.

mais je crois que l’initialisation utilise uniquement TableUtils.createTableIfNotExists, qui ne modifie pas une table existante. et la documentation ORMLite confirme que cette méthode crée seulement la table si elle n’existe

Sur un serveur existant, le DAO cherchera donc keyCamp1/keyCamp2 alors que la DB contient encore camp1/camp2. L’appel à queryForFirst() risque de niquer l'init du pl

je pense qu'il faut soit

  • conserver columnName = "camp1" et columnName = "camp2" ;
  • soit ajouter une migration SQL versionnée qui renomme/crée les colonnes et convertit les valeurs existantes en clés de traduction

@gtolontop

Copy link
Copy Markdown
Contributor

Les surcharges de InputUtils.pluralize prennent maintenant un Component.

sauf que les tests il appellent toujours l’ancienne API avec des String :

donc le job Test échoue avec 5 erreurs no suitable method found for pluralize(String, ...).

@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

Les champs persistés camp1 et camp2 ont été renommés en keyCamp1 et keyCamp2.

mais je crois que l’initialisation utilise uniquement TableUtils.createTableIfNotExists, qui ne modifie pas une table existante. et la documentation ORMLite confirme que cette méthode crée seulement la table si elle n’existe

Sur un serveur existant, le DAO cherchera donc keyCamp1/keyCamp2 alors que la DB contient encore camp1/camp2. L’appel à queryForFirst() risque de niquer l'init du pl

je pense qu'il faut soit

  • conserver columnName = "camp1" et columnName = "camp2" ;
  • soit ajouter une migration SQL versionnée qui renomme/crée les colonnes et convertit les valeurs existantes en clés de traduction

Plop le tag Change DB a été mis et oui ct pour cela, non je compte pas faire de migration surtout parce que :

  • les bases de données vont être reset en prod
  • les bugs sur les serveurs de dev, vont arriver, faudra juste que les développeurs delete toute leur db, pas de quoi s'inquiéter

@gtolontop

Copy link
Copy Markdown
Contributor

J'ai noter plein d'autre truc je sais pas si tu veux ?

@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

Les surcharges de InputUtils.pluralize prennent maintenant un Component.

sauf que les tests il appellent toujours l’ancienne API avec des String :

donc le job Test échoue avec 5 erreurs no suitable method found for pluralize(String, ...).

Je verrais cela, même si actuellement le workflow de test marche pas 👍
Mais je suis d'accord sur le fait de rajouter des bugs supplémentaires au test ne sert a pas grand chose

@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

J'ai noter plein d'autre truc je sais pas si tu veux ?

Oui par contre faut faire une review et non pas des commentaires pls.
(Tu vas dans la catégorie code, et tu peux empiler des commentaires associé au lignes de code, c'est ça une review)

@gtolontop

Copy link
Copy Markdown
Contributor

HelpConfigManager copie le nouveau bossbars.yml uniquement lorsque le fichier n’existe pas.

Les serveurs existants garderont donc des entrées comme :

"<bold><gold>Bienvenue sur ..."

alors que le nouveau code considère chaque entrée comme une clé :

Les anciennes balises MiniMessage risquent alors d’être affichées littéralement, sans couleurs et sans traduction donc soit faut migrer soit supporter les deux ?

J'imagine que comme tes seul tu vas le supprimer ?

@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

HelpConfigManager copie le nouveau bossbars.yml uniquement lorsque le fichier n’existe pas.

Les serveurs existants garderont donc des entrées comme :

"<bold><gold>Bienvenue sur ..."

alors que le nouveau code considère chaque entrée comme une clé :

Les anciennes balises MiniMessage risquent alors d’être affichées littéralement, sans couleurs et sans traduction donc soit faut migrer soit supporter les deux ?

J'imagine que comme tes seul tu vas le supprimer ?

Même raison que pour la table contest 👍

@gtolontop

Copy link
Copy Markdown
Contributor

Y'a le même problème dans TradeYMLManager
Mais ducoup je laisse

@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

Y'a le même problème dans TradeYMLManager
Mais ducoup je laisse

Oui

@gtolontop

Copy link
Copy Markdown
Contributor

insertCustomContest enregistre directement les noms entrés par l’administrateur

data = new ContestData(camp1, camp2, color1, color2, 0, 0);

Mais getCamp1ToSmall() et getCamp2ToSmall() ajoutent systématiquement .to_small.

Un contest personnalisé nommé Bonjour affichera donc Bonjour.to_small dans MainScoreboard.

Il faut distinguer une clé traduisible d’un nom personnalisé ou effectuer la conversion small directement sur le texte personnalisé je pense

@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

t'es vachement rapide a ecrire tout ça, avec les hyperlinks et tt vache ...

@gtolontop

Copy link
Copy Markdown
Contributor

La documentation ajoutée sur translationString dis que la méthode retourne directement le fallback.

mais il reste 37 appels sur des éléments visibles par les joueurs genre

Ces éléments vont resté en français pour les joueurs anglais ducoup faudrait je pense que si certains systèmes ne peuvent pas afficher un composant localisé par joueur, il faut au minimum documenter explicitement cette limitation dans la PR ou remédié le soucis

@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

insertCustomContest enregistre directement les noms entrés par l’administrateur

data = new ContestData(camp1, camp2, color1, color2, 0, 0);

Mais getCamp1ToSmall() et getCamp2ToSmall() ajoutent systématiquement .to_small.

Un contest personnalisé nommé Bonjour affichera donc Bonjour.to_small dans MainScoreboard.

Il faut distinguer une clé traduisible d’un nom personnalisé ou effectuer la conversion small directement sur le texte personnalisé je pense

J'y ai pensé, je pense tout simplement le supprimer, adapté tte la base du code juste pour donner la possibilité de faire des contests custom, je trouve ça overkill, surtout avec le peu de temps disponible que j'aurais

@gtolontop

Copy link
Copy Markdown
Contributor

t'es vachement rapide a ecrire tout ça, avec les hyperlinks et tt vache ...

J'ai déjà tous écris avant :) je relis juste pour être sur car je fais pas mal de faute

@gtolontop

Copy link
Copy Markdown
Contributor

Les rangs sont toujours des chaînes françaises dans ContestPlayerManager.RANKS :

"Dictateur en "
"Colonel en "
"Dieu en "
"Légende en "
"Sénior en "

puis on les mets dans getTitleWithPoints.

Les livres et menus du contest seront encore en français

@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

La documentation ajoutée sur translationString dis que la méthode retourne directement le fallback.

mais il reste 37 appels sur des éléments visibles par les joueurs genre

Ces éléments vont resté en français pour les joueurs anglais ducoup faudrait je pense que si certains systèmes ne peuvent pas afficher un composant localisé par joueur, il faut au minimum documenter explicitement cette limitation dans la PR ou remédié le soucis

Déjà dit dans les commits, PS : les items ne supportent pas les TranslatableComponent, idem entité, par contre BossBar j'ai utilisé celle de bukkit qui utilise par défaut un string et qui fait un peu vieux (je passerais à celle de adventure)

@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

t'es vachement rapide a ecrire tout ça, avec les hyperlinks et tt vache ...

J'ai déjà tous écris avant :) je relis juste pour être sur car je fais pas mal de faute

Mouais 🤔

@gtolontop

Copy link
Copy Markdown
Contributor

Y'a un BOM UTF-8 devant la première ligne clé dans

La clé chargée elle risque d'être comme ça \uFEFFfeature.events.contest.vote.menu.title, donc diff de la clé utilisée par le code. dcp le titre du menu de vote va afficher la clé brute

Y'a un autre BOM aussi présent devant le commentaire de default/main.properties:1.

@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

Les rangs sont toujours des chaînes françaises dans ContestPlayerManager.RANKS :

"Dictateur en "
"Colonel en "
"Dieu en "
"Légende en "
"Sénior en "

puis on les mets dans getTitleWithPoints.

Les livres et menus du contest seront encore en français

Ça j'ai pas pensé

@gtolontop

Copy link
Copy Markdown
Contributor

t'es vachement rapide a ecrire tout ça, avec les hyperlinks et tt vache ...

J'ai déjà tous écris avant :) je relis juste pour être sur car je fais pas mal de faute

Mouais 🤔

Je te ferais qu'un message si tu veux la prochaine fois xd

@AxenoDev

Copy link
Copy Markdown
Member

ou faire des review simple

@gtolontop

Copy link
Copy Markdown
Contributor

Il manque des trad

Exemples

Les mêmes erreurs se retrouvent dans en_US. Jpense l'AI qui a fais les trad à c'est bavé dessus lv

@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

t'es vachement rapide a ecrire tout ça, avec les hyperlinks et tt vache ...

J'ai déjà tous écris avant :) je relis juste pour être sur car je fais pas mal de faute

Mouais 🤔

Je te ferais qu'un message si tu veux la prochaine fois xd

Bah juste fait des vrais review, avec la fonctionnalité de github, ça serait mille fois mieux....

@gtolontop

Copy link
Copy Markdown
Contributor

t'es vachement rapide a ecrire tout ça, avec les hyperlinks et tt vache ...

J'ai déjà tous écris avant :) je relis juste pour être sur car je fais pas mal de faute

Mouais 🤔

Je te ferais qu'un message si tu veux la prochaine fois xd

Bah juste fait des vrais review, avec la fonctionnalité de github, ça serait mille fois mieux....

On peux même sans être Membre ? Je savais pas désolé 😭

@gtolontop

Copy link
Copy Markdown
Contributor

Attend je vais toute tes les refaires :)

@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

Il manque des trad

Exemples

Les mêmes erreurs se retrouvent dans en_US. Jpense l'AI qui a fais les trad à c'est bavé dessus lv

Merci l'IA pour avoir détecté les fautes de l'IA dans quel monde on part purée

@AxenoDev

Copy link
Copy Markdown
Member
image image

@gtolontop

Copy link
Copy Markdown
Contributor

image image

Je connais je savais juste pas qu'on pouvais sans être Membre du projet xd

@gtolontop

Copy link
Copy Markdown
Contributor

Il manque des trad
Exemples

Les mêmes erreurs se retrouvent dans en_US. Jpense l'AI qui a fais les trad à c'est bavé dessus lv

Merci l'IA pour avoir détecté les fautes de l'IA dans quel monde on part purée

Avec tous le respect tu dis ça mais ta mm pas relu alors que vrm on scroll un peu il manque full trad

@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

image image

Je connais je savais juste pas qu'on pouvais sans être Membre du projet xd

Bref arrête toi là je pourrais généré ma review seul

@gtolontop

Copy link
Copy Markdown
Contributor

image image

Je connais je savais juste pas qu'on pouvais sans être Membre du projet xd

Bref arrête toi là je pourrais généré ma review seul

C'est toi tu as demandé une review mdrrrr

@gtolontop

Copy link
Copy Markdown
Contributor

@iambibi

iambibi commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

Oui je T'ES demandé une review, pas d'une personne tiers. Honnêtement c'est surtout ça qui m'énerve au sujet de l'IA, c'est l'humanisme de ce machin. Les features sont de moins en moins originale, ça perds des côtes créatives et ça fera toujours la même chose car elle sait que reprendre ce qu'elle connait déjà. Et là dans ton cas, on trouve même pas ta personnalité derrière tes messages, on perd du contact, de la communication.
Je suis tout de même reconnaissant que tu dépenses tes tokens pour ça, mais la prochaine fois donne moi la réponse du prompt 🫪.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🆙 Amélioration Une amélioration sur quelque chose 💣 Change DB Il y a eu un changement dans la DB ! A faire attention ✨ Fixes Quelque chose a été patch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants