WoWTranslate is a small .NET MAUI application for translating in-game phrases into several Warcraft languages. It provides a simple UI to enter text and see translations using the included translation service and dictionaries.
- Translations based on community contributions on the Wowpedia Wiki.
- Translate text into multiple fantasy languages (Orcish, Darnassian, Thalassian, etc.).
- Local translation dictionaries implemented as C# language files.
- Lightweight UI built with .NET MAUI (cross-platform: Windows, Android).
- Unit tests for core translation logic.
- .NET 9 SDK (or compatible .NET SDK matching the project target).
- .NET MAUI workload installed for building and running the UI on desktop/mobile targets.
- An IDE with MAUI support (Visual Studio 2022 or newer with MAUI workloads on Windows) or the
dotnetCLI with MAUI workloads on supported platforms.
Clone the repository and restore dependencies:
dotnet restore
Build the solution:
dotnet build
Running the app:
- Desktop (recommended via IDE): Open
WoWTranslate.slnin Visual Studio or your preferred IDE and run the MAUI app for your target platform. - Android (device/emulator): ensure Android SDK and MAUI workloads are available, then build and deploy for
net9.0-androidusing your IDE or thedotnettooling for MAUI targets.
# Build for Android
dotnet build -f net9.0-android
# Run tests
dotnet test
WoWTranslate/— main MAUI application project.Services/Translation/TranslationService.cs— core translation logic.Services/Translation/WoWDictionary.cs— dictionary and lookup glue.Services/Translation/Languages/— individual language files.Pages/andPageModels/— UI pages and view models.Resources/— app resources (fonts, icons, styles).
WoWTranslate.UnitTests/— unit tests for translation logic.
The project includes language files under WoWTranslate/Services/Translation/Languages/, such as:
- Common.
- Darnassian.
- Demonic.
- Draconic.
- Draenei.
- Dwarven.
- Gnomish.
- Gutterspeak.
- Kalimag.
- Orcish.
- Taurahe.
- Thalassian.
- Zandali.
Add a new language by creating a new language file in that folder following the existing file patterns.
Run unit tests from the repository root:
dotnet test
This will execute the tests in WoWTranslate.UnitTests and report results.
- Translation logic lives in
WoWTranslate/Services/Translation/TranslationService.csandWoWDictionary.cs. - UI pages and view models follow an MVVM pattern under
Pages/andPageModels/. - Converters and utility classes are in
Utils/Converters/.
If you change dictionary data structures, update unit tests accordingly.
Contributions are welcome. Please open issues for bug reports or feature requests, and submit pull requests with clear descriptions and tests where appropriate.
When contributing:
- Follow existing code style and naming conventions.
- Add unit tests for changes to translation behavior.
- Describe any user-visible changes in the PR description.
This project is licensed under GPLv3.
