This project is a C# console-based translation management tool that allows users to store, search, export, import, and analyze translations between languages. The system is built with clean architecture in mind, using .NET Core, Entity Framework, and NUnit for testing.
- C# .NET Core – Main language and application framework
- Entity Framework Core – Database operation
- SQL Server LocalDB – Persistent data storage
- LINQ – Data queries
- NUnit – Unit testing framework
- XML – Data import/export
- Text-based Reports – Export searched analytics
- 🔍 Search Translations – Search by keywords and increment search statistics
- ➕ Add New Translations – With duplicate checks
- 📈 Track Most Searched Terms – Easily view popular phrases
- 📤 Export Translations to XML – For data portability
- 📥 Import Translations from XML – Merge new or existing entries
- 🧾 Generate Monthly Reports – Saves analytics of recent translations to
.txt - 🔄 Update Quantity and Search Count – On repeated usage or imports
- 🧪 Comprehensive Unit Tests – Using NUnit
TranslationApp/
├── Application/
│ ├── ITranslationService.cs # Interface for business logic
│ └── TranslationService.cs # Implements translation operations
│
├── Model/
│ └── Translation.cs # Data model with properties
│
├── Persistence/
│ ├── TranslationDbContext.cs # Core DB context with seed data
│
├── Persistence/MsSql/
│ └── TranslationDataProvider.cs # Concrete implementation for data access
│
├── Tests/
│ └── tests.cs # NUnit test cases for core functionalities
│
├── Program.cs # Entry point for the console application
- The system tracks translation frequency and search popularity
- Uses event-based programming using
TranslationExistsevent - Real-world data serialization via XML
- Date-based filtering for analytics and reporting
- Fully tested with mocked in-memory databases to ensure correctness
Was created as part of a university project at Óbuda University (2024).