Skip to content

vibestorming/wowtranslate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WoWTranslate

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.

Project screenshot

Features

  • 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.

Requirements

  • .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 dotnet CLI with MAUI workloads on supported platforms.

Getting Started

Clone the repository and restore dependencies:

dotnet restore

Build the solution:

dotnet build

Running the app:

  • Desktop (recommended via IDE): Open WoWTranslate.sln in 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-android using your IDE or the dotnet tooling for MAUI targets.
# Build for Android
dotnet build -f net9.0-android

# Run tests
dotnet test

Project Structure

  • 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/ and PageModels/ — UI pages and view models.
    • Resources/ — app resources (fonts, icons, styles).
  • WoWTranslate.UnitTests/ — unit tests for translation logic.

Languages included

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.

Testing

Run unit tests from the repository root:

dotnet test

This will execute the tests in WoWTranslate.UnitTests and report results.

Development Notes

  • Translation logic lives in WoWTranslate/Services/Translation/TranslationService.cs and WoWDictionary.cs.
  • UI pages and view models follow an MVVM pattern under Pages/ and PageModels/.
  • Converters and utility classes are in Utils/Converters/.

If you change dictionary data structures, update unit tests accordingly.

Contributing

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.

License

This project is licensed under GPLv3.

About

.NET MAUI application for translating any text into several Warcraft languages.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages