How moirstral/autotranslation works
AutoTranslation is a Minecraft mod that detects missing current-language entries, translates them, and loads the generated translations into the game. Players also have an experimental screen-translation workflow and commands for reloading resources and packaging translations. The README documents configurable translator selection and full/incremental resource packs. Some implementation files were not sampled, so uncertain links between translation workers and providers are omitted; Fabric and Forge bootstrap paths are shown separately.
Main entry points: ResourceManager.java Resource processing · ScreenTranslationHelper.java Screen translation · TranslatorManager.java Provider selection · ClientLanguageMixin.java Missing-text detection
Components 22
Language translation
- Missing-text detection
common/src/main/java/me/langyue/autotranslation/mixin/ClientLanguageMixin.java - Translation requests
common/src/main/java/me/langyue/autotranslation/TranslatorHelper.java - Translation workers
common/src/main/java/me/langyue/autotranslation/translate/TranslateThreadPool.java - Provider selection
common/src/main/java/me/langyue/autotranslation/translate/TranslatorManager.java - Translator interface
common/src/main/java/me/langyue/autotranslation/translate/ITranslator.java - Google provider
common/src/main/java/me/langyue/autotranslation/translate/google/Google.java - HTTP client
common/src/main/java/me/langyue/autotranslation/translate/google/HttpClientUtil.java
Screen translation
- Screen translation
common/src/main/java/me/langyue/autotranslation/ScreenTranslationHelper.java - Screen toggle
common/src/main/java/me/langyue/autotranslation/gui/widgets/AutoTranslationIcon.java - Patchouli support
common/src/main/java/me/langyue/autotranslation/mixin/compat/patchouli/PatchouliBookTextRendererMixin.java
Game integration
- Fabric bootstrap
fabric/src/main/java/me/langyue/autotranslation/fabric/AutoTranslationFabric.java - Forge bootstrap
forge/src/main/java/me/langyue/autotranslation/forge/AutoTranslationForge.java - Mod lifecycle
common/src/main/java/me/langyue/autotranslation/AutoTranslation.java - Language loading
common/src/main/java/me/langyue/autotranslation/mixin/ClientLanguageMixin.java - Screen hooks
common/src/main/java/me/langyue/autotranslation/mixin/ScreenMixin.java - Render hook
forge/src/main/java/me/langyue/autotranslation/forge/mixin/GameRendererMixin.java
Resources and controls
- Resource processing
common/src/main/java/me/langyue/autotranslation/resource/ResourceManager.java - Mod configuration
common/src/main/java/me/langyue/autotranslation/config/Config.java - In-game commands
common/src/main/java/me/langyue/autotranslation/command/AutoTranslationCommands.java - Generated language files
Other components
- Player
- Google Translate
Connections 21
- Player → Language loading: loads language
- Fabric bootstrap → Mod lifecycle: initializes
- Forge bootstrap → Mod lifecycle: initializes
- Language loading → Missing-text detection: compares entries
- Missing-text detection → Resource processing: records missing keys
- Resource processing → Translation requests: requests translations
- Translation requests → Translation workers: queues work
- Provider selection → Translator interface: provides implementation
- Provider selection → Google provider: selects default
- Google provider → HTTP client: sends requests
- HTTP client → Google Translate: makes HTTP calls
- Resource processing → Generated language files: writes and loads
- Player → Screen toggle: toggles translation
- Screen toggle → Screen translation: changes screen state
- Render hook → Screen translation: prepares rendering
- Screen hooks → Screen translation: checks screen state
- Patchouli support → Screen translation: checks translation state
- Player → In-game commands: runs commands
- In-game commands → Resource processing: reloads or packages
- Player → Mod configuration: configures mod
- Mod configuration → Provider selection: selects provider