Accent – Self-Hosted Translation Management
Accent is an open-source developer-oriented translation tool. Deploy with Docker, track full history, collaborate via GraphQL API. MIT licensed.
TL;DR
TL;DR: Accent is a 100% open-source, self-hosted translation management tool built with Elixir and Phoenix. Deploy via Docker in minutes, track full history with rollback, and integrate into any developer workflow via GraphQL API.
Source and Accuracy Notes
- Project page: accent.reviews
- Source repository: github.com/mirego/accent
- License: MIT (verified via README LICENSE badge and GitHub repo)
- HN launch thread: news.ycombinator.com/item?id=16825217 (2017 HN launch, active project)
- Source last checked: 2026-06-18 (README
masterbranch, Docker Hub)
What Is Accent?
Most translation tools are built for translators, not developers. Accent flips that by being developer-oriented from the ground up: you manage translations the same way you manage code — with history, rollbacks, and CI/CD integration.
The tagline from the project is direct:
“The first developer-oriented translation tool”
Core capabilities from the README:
- Full history and rollback — every change is tracked; roll back any translation to any point in time
- Simple Web UI — productive for both translators and developers
- GraphQL API — the API powering the UI is open and fully documented
- CLI tool — integrate Accent directly into your developer flow
- Webhook support — trigger builds or notify services on translation changes
- Docker deployment — single command to get running
Setup Workflow
Option 1: Docker (fastest, one command)
The easiest way to run Accent is with the official Docker image. You only need a PostgreSQL database.
# Generate a 64-byte secret key
SECRET_KEY_BASE=$(openssl rand -hex 64)
# Create a .env file
cat > .env << 'ENVEOF'
DATABASE_URL=postgresql://postgres@localhost/accent_development
DUMMY_LOGIN_ENABLED=1
SECRET_KEY_BASE=${SECRET_KEY_BASE}
ENVEOF
# Run the container
docker run --env-file .env -p 4000:4000 mirego/accent
The app starts on port 4000. Log in with any email and any password when DUMMY_LOGIN_ENABLED=1 is set.
Option 2: Full local development
For contributing or custom deployments, you need Erlang, Elixir, Node.js, and PostgreSQL.
# Install dependencies
make dependencies
# Create and migrate database
mix ecto.setup
# Start the Phoenix server
mix phx.server
Requirements from the README:
- Erlang ~> 26.1
- Elixir ~> 1.15
- PostgreSQL >= 9.4
- Node.js >= 16.19
Key Features
Translation history with rollback
Every translation action is recorded. The UI shows a full diff history per key — who changed what, when — and you can roll back any entry to a previous version. This is a first-class feature, not an afterthought.
GraphQL API
The API powering the Accent UI is fully documented. You can query and mutate translations programmatically, build custom CI scripts, or create a CLI that fits your exact workflow.
Webhooks
Configure webhooks to notify your CI system, translation memory, or downstream services whenever translations change. This makes Accent a natural fit for i18n pipelines feeding into mobile app builds or continuous deployment.
CLI tool
The Accent CLI lets you manage translations without opening a browser:
# Sync translations from your project
accent sync --source "locales/*.json"
# Push a new translation key
accent push --key "home.title" --translation "Hello" --locale en
Collaboration
Multiple translators can work simultaneously. The UI centralizes discussions around specific translations — comment on a key, resolve a suggestion, and see who is working on what.
Practical Evaluation Checklist
- Easy to deploy: Docker one-liner with PostgreSQL
- History/rollback: Full diff per key, one-click revert
- API-first: GraphQL endpoint for all operations
- CLI available: Integrate with build scripts
- Developer-friendly: Twelve-Factor config via env vars
- Active project: 2017 HN launch, maintained through 2026
- Open source: MIT license, no vendor lock-in
- Data ownership: Full self-hosting, no per-seat pricing
FAQ
Q: Is this suitable for a production mobile app? A: Yes. Teams use Accent to manage translations for web and mobile apps. The webhook system lets you trigger builds automatically when translations are updated.
Q: Can I self-host on a cheap VPS? A: Yes. The Docker image works on any Linux VPS with PostgreSQL. For low traffic a single standard instance is sufficient.
Q: Does it support ICU plural forms and MessageFormat? A: Accent manages key-value translations. For advanced ICU/MessageFormat support, check the GraphQL API and project Issues for ongoing work in this area.
Q: How does it compare to Crowdin or Lokalise? A: Accent is fully open source with no per-seat pricing. It trades enterprise features like translation memory or machine translation for full data ownership and a developer-first workflow.
Conclusion
Accent fills the gap between “spreadsheets for translations” and “expensive enterprise localization suites.” It is fully open source, deploys in minutes via Docker, and gives developers the history, rollback, and API controls they expect from modern dev tooling — while keeping translators productive with a clean Web UI.
If you need a self-hosted alternative to Crowdin or Lokalise with full data ownership and no per-seat pricing, Accent is worth a look.
Project: github.com/mirego/accent — MIT licensed.
Related Posts
dev-tools
Automotive Skills Suite for AI Engineering
Evaluate Automotive Skills Suite for APQP, ASPICE, HARA, safety-plan, and DIA workflows with setup notes, governance risks, and SME review guidance.
5/28/2026
dev-tools
awesome-agentic-ai-zh Roadmap Guide
Explore awesome-agentic-ai-zh as a Chinese agentic AI learning roadmap, with setup notes, track selection, study workflow, and evaluation guidance.
5/28/2026
dev-tools
Baguette iOS Simulator Automation Guide
Set up Baguette for iOS Simulator automation, web dashboards, device farms, gesture input, streaming, and camera testing with Xcode caveats.
5/28/2026