Skip to content

ulkiorra4th/GameLocalizationService

Repository files navigation

Game Localization

Game Localization is a platform for managing the localization of game projects. It provides a centralized system for storing, editing, and translating game texts, supporting multiple languages and projects, with a convenient web interface and REST API.

image


Features

  • Multi-layer architecture (Frontend + Backend)
  • REST API with versioning
  • Project, language, key, and translation management
  • Pagination and key search
  • Swagger API documentation
  • Dockerized deployment

Project Structure

GameLocalization/
  backend/                # Backend (ASP.NET Core, C#)
    GameLocalization/     # Main backend project
    GameLocalization.Application/   # DTOs, services, interfaces
    GameLocalization.Common/        # Common classes, enums, Result
    GameLocalization.Domain/        # Domain models
    GameLocalization.Infrastructure.Mapping/ # Mappers
    GameLocalization.Persistence.Postgres/   # PostgreSQL persistence
  frontend/
    gamelocalization_frontend/      # Frontend (React + TypeScript)
      ├── src/
      │   ├── api/                  # API clients (axios)
      │   ├── hooks/                # Custom React hooks
      │   ├── pages/                # Page components (e.g., ProjectPage)
      │   ├── utils/                # Utility functions and types
      │   ├── App.tsx               # Main app component
      │   └── main.tsx              # Entry point
      ├── public/                   # Static assets
      ├── index.html                # HTML template
      ├── package.json              # Frontend dependencies
      ├── tailwind.config.js        # Tailwind CSS config
      └── ...                       # Other config files
  docker-compose.yaml               # Docker orchestration

ER-model

game_cloud_ER drawio


Quick Start

1. Clone the repository

git clone <repository-url>
cd GameLocalizationService

2. Run with Docker

docker-compose up --build

3. Run backend locally

cd backend/GameLocalization/GameLocalization
dotnet run

4. Run frontend locally

cd frontend/gamelocalization_frontend
npm install
npm run dev

API Documentation

Swagger UI:
http://localhost:8080/swagger


Main Entities

  • Project — Game project
  • Language — Localization language
  • Key — Localization key (string identifier)
  • Translation — Translation for a key in a specific language

Technologies

  • Backend: ASP.NET Core 8, PostgreSQL, EF Core, Serilog, Swagger, Docker
  • Frontend: React, TypeScript, Tailwindcss, Axios, Vite, Docker

CI/CD (Template)

  • Build and test backend with dotnet build and dotnet test
  • Build frontend with npm run build
  • Docker images for both frontend and backend

License

MIT License


Contacts

About

Game Localization — platform for managing and translating game texts.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages