YAML (Rails i18n) localization with AI

Rails-style YAML locale files with a root locale key and nested scopes.

.yml.yamlformat: yamlone file per locale

What it is

YAML is the standard for Ruby on Rails (config/locales/en.yml) and is common in Hugo, Jekyll and Symfony. Rails files start with the locale as the root key.

Example

config/locales/en.yml
en:  # Shown on the dashboard header  dashboard:    greeting: "Hello, %{name}"    projects:      one: "%{count} project"      other: "%{count} projects"

How Glossa handles it

Plurals
A mapping whose keys are CLDR categories (zero, one, two, few, many, other) is treated as one plural entry and expanded per target locale.
Comments and context
Comments above a key are kept as its context and passed to the translator.
Placeholders
Brace placeholders ({name}, so Rails %{name} too), printf specifiers and HTML tags are protected and checked on every translation.
Round trip
The root locale key is rewritten for each target (en: becomes es:), so the output loads straight into I18n.

Translate it from the command line

Push the source-language file; strings are deduplicated against the rest of your workspace and queued for translation. Pull writes config/locales/es.yml back in the same format.

npx @meterapp/glossa loginnpx @meterapp/glossa push config/locales/en.yml --project appnpx @meterapp/glossa pull --project app --locale es,de,ja

Or ask an agent over MCP: “Push config/locales/en.yml to Glossa and pull Spanish.” It calls push_file and pull_file. See the CLI and MCP guides.

Other formats

Moving from Crowdin? Read the comparison.

Push your first file

Glossa is free for one app. Sign in, push a translation file, and pull it back in every language.