CSV / TSV (multi-locale) localization with AI

CSV and TSV spreadsheets with a key column and one column per locale.

.csv.tsvformat: csvevery locale in one file

What it is

Many teams keep strings in a spreadsheet, exported as CSV or TSV: one row per key, one column per language. Game engines (Unity, Godot) use the same layout.

Example

translations/strings.csv
key,description,en,es,demenu.play,Main menu button,Play,Jugar,Spielenmenu.quit,Main menu button,Quit,Salir,Beenden

How Glossa handles it

Plurals
CSV has no plural structure; keep plural variants as separate keys.
Comments and context
A description, comment or context column is detected and used as context.
Placeholders
Common placeholder styles in cells are protected and checked.
Round trip
The first locale column is the source. Comma, semicolon and tab delimiters are detected, and every locale column is imported in one push.

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 translations/strings.csv back in the same format.

npx @meterapp/glossa loginnpx @meterapp/glossa push translations/strings.csv --project appnpx @meterapp/glossa pull --project app --locale es,de,ja

Or ask an agent over MCP: “Push translations/strings.csv 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.