Every project has exactly one source language and any number of targets, all named with standard BCP-47 tags.
Who this is for
Everyone. Changing the list needs the permission to manage languages: developer and above.
What happens next
The Languages settings page lists The source language and every target you translate into.
The source language is set when the project is created and is the language your strings are written in. It is the one language you never translate into, and it cannot be removed.
Target languages are what you ship. Each one is tracked separately: its own progress, its own review queue, its own published output.
Tags are BCP-47, the same standard your framework already uses: de for German, pt-BR for Brazilian Portuguese, zh-Hans for Simplified Chinese, fr-CA for Canadian French. transglot canonicalises what you type, so case and separator differences do not create duplicates, and it rejects anything it does not recognise rather than silently creating a language that will never match your files.
Whether a locale reaches your app is a separate question from whether it exists here. See the delivery articles for publishing.
Related
Add a target language
Remove a language
Publish a locale
