Skip to content

Conversation

@Wide-Cat
Copy link
Collaborator

@Wide-Cat Wide-Cat commented Jan 6, 2026

Disclaimer

We are not accepting translations right now as this is still a work in progress - only after we finalise everything and merge this into the main branch we will start accepting translations via pull requests or the web page (see below).

Description

Implements a translation system to support different languages in all relevant places. We are using our own custom translation system to prevent meteor being detected by servers via the translation exploit.

We have set up a web page at https://translations.meteordev.org where users can create an account and submit translations - we will periodically merge this into the master branch. It would be useful to set up some incentives for translating, e.g. after translating 25 keys they can be added to meteor.lang.translators or after 100 keys they get access to a translator cape.

Information for developers

This will break every addon that currently exists and will not only require addon authors update their existing addons, but places more to do on the authors when creating new features in the first place, as meteor will now expect user facing strings like names and descriptions to be placed in the language file.

Todo fill this out, maybe create a Translations.md file.

  • Modules can no longer have spaces in their name and doing so will throw a runtime exception - follow kebab-case naming as with meteor

Things to do

  • Map any remaining hardcoded strings to the lang file.
  • Add translatable keys to the lang file that aren't already in there (config, hud, macros, profiles, probably more).
  • Fix issues with the font renderer once and for all - [Bug] Custom font doesn't render non-english characters #333, Cannot render non-English fonts #4763.
  • Allow ChatUtils to accept translatable Text components - we can't just pass in a translated String since they do not update with the language.
  • If there is any way to deduplicate translation keys, it would probably be helpful for anyone trying to translate the project, as at the time of writing there are 3,275 keys and that is only going to increase. Should deduplicate:
    • Hud elements
    • Marker shapes
  • Contact owners of existing translation projects (e.g. dingzhen-vape/Meteor-I18n-Support-plugin) to include their translations in meteor.
  • allow overriding the settings name and description for when we dont want to provide a translatable one

  • We should probably bundle some scripts with meteor and the addon template to make updating and maintaining features easier. Examples of what would be useful:
    • For updating addons - scanning the project for places where we expect translatable text (settings, modules, commands, categories, hud elements, etc.) and automatically extracting relevant strings into the lang files (names, descriptions, etc.)
    • For already updated addons - after creating new modules/commands/hud elements, scan the language files to ensure they have translation keys and append them if they are not present.
    • Scanning the lang file for duplicated, unused, or illegal/misnamed keys and reporting them to the developer.
    • For multilingual projects, something to scan one primary language file (en_us) and ensure the keys are consistent between it and all other language files present.

Related issues

closes #5282
closes #5864
closes #2141

Wide-Cat and others added 30 commits November 2, 2025 20:21
Reorganised the translation files and keys. Lots of work still to be done to change our hardcoded strings into translatable ones. We should no longer be susceptible to detection by servers using the translation exploit.
Translations will be automatically updated when the user changes their language.
Adds a label in the bottom right corner of the modules screen that can be clicked on to give translation information.
This includes command exceptions and info/warning/error messages. Still more to be done for commands. This is a bit of a rough draft, if you have any ideas on how better to name or format this, open an issue or message me.
# Conflicts:
#	src/main/java/meteordevelopment/meteorclient/commands/commands/WaspCommand.java
#	src/main/java/meteordevelopment/meteorclient/gui/screens/ModulesScreen.java
#	src/main/java/meteordevelopment/meteorclient/gui/widgets/WWidget.java
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Translation keys can still be read LANG PLS [Suggestion] language profile

3 participants