Professional Project
I18n Process Tools
Overview
I18n Process Tools streamlined the full localization lifecycle: it collected labels from GitLab and GitHub repositories, tracked their translation state, grouped work into bulk requests, and converted completed translations into reviewable source-control changes.
My Role
- Designed the core concept for the i18n backend, including repository synchronization, translation-state tracking, and bulk translation workflows.
- Implemented the GitLab integration for importing localization files and creating merge requests with translated values.
- Led the migration to GitHub and added GitHub support during the company repository migration.
- One of two developers who built the React frontend for managing localization workflows.
Architecture & Technology
- .NET backend with Entity Framework Core data access
- React frontend for managing projects, labels, and translation requests
- GitLab API and GitHub/Octokit integrations for repository synchronization and delivery
- Bulk translation integration with Notino's Localization Service and TargetProcess
- Optional AI-assisted translation path
- Kubernetes deployment
Engineering Challenges
- Synchronizing localization files and label changes across repositories and markets.
- Tracking whether each label was untranslated, awaiting translation, or completed.
- Migrating repository automation from GitLab to GitHub without disrupting translation delivery.
Decisions & Trade-offs
- Model translation as an explicit workflow with Dirty, Pending, and Translated states. This added synchronization complexity but made missing, in-progress, and completed translations visible and prevented duplicate requests.
- Deliver completed translations through dedicated branches and automated merge or pull requests. This required reliable repository integrations, but kept changes reviewable, auditable, and aligned with standard engineering workflows.
- Abstract repository operations to support both GitLab and GitHub. Supporting platform-specific APIs increased implementation effort, but allowed the workflow to survive the company-wide repository migration.
Results & Impact
- Automated the workflow from repository labels to translation requests and reviewable translated changes.
- Enabled translation delivery through both GitLab merge requests and GitHub pull requests.
- Provided a scalable, consistent process for localized UI content across multiple markets.