Accent - Translation and Localization Management

AWS Developer Tools

Accent, a developer oriented translation and localisation management platform, ready to hold your application's translation files, history and review workflow the moment it boots.

Base
Hardened build
minimal ports, security patches applied at build time
Access
Unique credentials
generated on first boot, readable only by root
Verified
Boots working
services pass a health gate before release
Support
24/7, 365 days
by email and live chat, 24 hour response SLA

Overview

Accent is an open source translation and localisation management platform built for development teams. It takes the translation files that already live in your codebase, JSON, YAML, gettext PO, Android XML, iOS strings and many other formats, and turns them into a shared workspace where developers, translators and reviewers work on the same source of truth. Files are pushed in and pulled back out through a sync and export API, so the platform sits inside an existing build pipeline rather than replacing it, and every key keeps a full history of who changed what and when.

Around that core it adds the things a spreadsheet cannot do: a side by side editor for each key with comments and a review state, conflict detection when a source string changes underneath an existing translation, versioned releases of a revision, linting that flags common problems such as missing interpolation placeholders or stray whitespace, and per project collaborator roles. A GraphQL API and a command line client cover automation, so a project can be synchronised from continuous integration on every merge.

Why the cloudimg image

Accent has no password login of its own. Its only ready to use sign in method is a password less email prompt, and every real identity provider needs an OAuth application that only you can register, so an unprotected instance would be open to anyone who can reach it. cloudimg closes that gap before the instance is ever reachable: the application listens on the loopback interface only, its database publishes no host port at all, and a reverse proxy is the single public listener, gated by a web credential that is generated uniquely on the first boot of every instance and written to a file only root can read. The session signing key, the cookie signing salt, the credential vault key and the database password are all generated per instance on that same first boot, replacing the published upstream defaults, and the application is held back from starting until those secrets are actually in place, so an instance can never come up on a shared key. The image is fully patched with unattended security upgrades enabled, ships a self test that imports a translation file and reads the exact strings back out again, and every deployment is paired with a step by step deploy guide and backed by 24/7 cloudimg support.

Common uses

  • Manage application translation files with history and review
  • Synchronise translations from continuous integration
  • Collaborate with translators on a shared source of truth

Key features

  • Prebuilt and secure in minutes: unlike a manual install that requires sourcing the correct compiled image, standing up PostgreSQL, generating the Phoenix signing and encryption secrets upstream ships as published defaults, and putting an authenticated encrypted front door in front of an app with no password login of its own, this image completes every build and hardening step at build time. Launch an instance and reach a working translation platform over TLS without editing a config file.
  • Secure by default with unique per instance secrets: every instance generates its own web credential, PostgreSQL password, Phoenix secret key base, session signing salt, encryption vault key and self-signed TLS certificate on first boot, and the upstream published default secrets are never used. Accent binds to the loopback interface behind an nginx TLS reverse proxy gated by a per-instance HTTP Basic credential; PostgreSQL is never exposed on a host port.
  • Developer-oriented translation and localization management with 24/7 support: a web UI plus a GraphQL API and file sync and export endpoints for managing your application's translation files with version history, a review workflow, linting and team collaboration. The Docker data root and translation database live on a dedicated independently resizable data volume. Backed by 24/7 cloudimg technical support via email and chat.

See it running

Real screenshots taken while testing this image against its deployment guide.

Accent - Translation and Localization Management screenshot 1 Accent - Translation and Localization Management screenshot 2 Accent - Translation and Localization Management screenshot 3 Accent - Translation and Localization Management screenshot 4

Description

This is a repackaged open source software product wherein additional charges apply for cloudimg support services.

## Overview

Accent is an open source, developer-oriented translation and localization management platform. Developers sync an application's translation files in and out through an API and CLI, and translators manage, review, lint and collaborate on strings through a web UI, with version history and a review workflow. Under the hood Accent is an Elixir and Phoenix GraphQL API backed by PostgreSQL, with a compiled web frontend. This AMI delivers Accent installed and secured so a working translation platform is operational within minutes of launch.

## Why This Image vs a Manual Install

Accent ships as an Elixir OTP release whose JavaScript frontend is a build artifact absent from every source tarball, and it has no built-in password authentication of its own: out of the box its only zero-configuration login is a password-less provider that would leave a public instance completely open. Running it safely yourself means sourcing the correct compiled image, standing up PostgreSQL, generating the Phoenix signing and encryption secrets that upstream ships as published defaults, and putting an authenticated, encrypted front door in front of it. This image completes every one of those steps at build time. Accent runs the official upstream container unmodified and binds to the loopback interface only; PostgreSQL is never exposed on a host port; a per-instance web credential, PostgreSQL password, Phoenix secret key base, session signing salt and encryption vault key are all generated on each instance's first boot; and an nginx reverse proxy terminates TLS on port 443 with a per-instance self-signed certificate and enforces HTTP Basic authentication.

## Authentication and Single Sign-On

Accent has no password authentication of its own; every real single sign-on method (GitHub, GitLab, Google, Slack, Discord, Microsoft or any generic OIDC issuer) requires your own OAuth application credentials, which cannot be baked into a shared image. This image therefore ships with the front door gated by a unique per-instance HTTP Basic credential over TLS, and Accent listening only on the loopback interface behind it, so the instance is never an open, unauthenticated application. The paired deployment guide documents how to register an OAuth or OIDC application with your own provider and then retire the basic-auth gate.

## Security Hardening

This image follows a defence in depth approach:

  • No default or shared credentials: the Phoenix secret key base, session signing salt and encryption vault key that upstream ships as published defaults are never used; a unique value for each is generated on every instance's first boot
  • Per instance secrets: the web credential, the PostgreSQL password and the self-signed TLS certificate are all generated per instance on first boot, never shipped in the image, and written only to a root-only file
  • No open sign-up: the front door is closed by a per-instance HTTP Basic credential, so a scanner or passer-by cannot reach or self-register with the password-less provider
  • Network isolation: Accent binds exclusively to the loopback interface; PostgreSQL is never published to a host port; only the nginx TLS reverse proxy is exposed
  • Encrypted front door: nginx terminates TLS on port 443 with a per-instance self-signed certificate; plain HTTP on port 80 redirects to HTTPS
  • Dedicated data volume: the Docker data root and the translation database live on their own disk, surviving OS-disk changes and resizable independently

## Concrete Use Cases

  • Centralize an application's translations: give developers an API and CLI to sync translation files in and out of source control, and translators a web UI to manage, review and lint every string, with version history and a review workflow
  • Continuous localization in CI: push new source strings from a build pipeline into Accent and pull translated files back out at release time through the file sync and export endpoints, keeping every locale in step with the codebase
  • Team translation and review: collaborate on strings across a team with roles, comments and a review workflow, using the bundled grammar and spelling checks to catch errors before they ship

## AWS Integration

Deploy on any EC2 instance type; the recommended size is m5.large. Terminate TLS at an Application Load Balancer with your own certificate, or keep the per-instance self-signed certificate. Back up the translation database using EBS snapshots or AWS Backup, and resize the dedicated data volume independently of the OS disk as your string catalog grows.

## cloudimg Support

24/7 technical support by email and chat. Help with deployment, wiring up your own OAuth or OIDC single sign-on and retiring the basic-auth gate, reverse-proxy termination with your own domain and certificate, and backup planning for your translation database.

Related technologies

accenttranslation managementlocalizationi18nl10nself-hosted translationgraphql apielixir phoenixcontinuous localizationtranslation review workflow