Projects
Organize translations into projects with target languages, export formats, and team permissions.
What Is a Project?
A localization project is a container for related translatable content. Think of it as a workspace for everything that needs to be translated together. For example, you might create separate projects for:
- Mobile App — All the buttons, labels, messages, and notifications in your app
- Marketing Website — Landing pages, feature descriptions, and calls to action
- Help Center — Support articles and FAQ content
- Email Templates — Transactional and marketing email copy
Each project keeps its translations, languages, export settings, and team permissions separate, so different teams can work independently without stepping on each other.
Source Language
Every project has a source language — the language you write your original content in. This is the language that translators will translate from. For most teams, this is English, but it can be any language you choose when creating the project.
Target Languages
Target languages are the languages you want to translate into. You can add as many as you need, and each one is identified by a standard language tag:
| Language Tag | Language |
|---|---|
en | English |
fr | French |
de | German |
zh-Hans | Simplified Chinese |
pt-BR | Brazilian Portuguese |
pt-PT | European Portuguese |
ja | Japanese |
ar | Arabic |
pt-BR and pt-PT when translations differ between regional variants. Use the base tag (e.g., fr) when a single translation covers all regions. Export Formats
When you create a project, you choose which output formats it should support. These determine how your translations are packaged when you export them for use in your apps or websites. You can select multiple formats per project.
| Format | Used For |
|---|---|
| Android XML | Android mobile apps |
| iOS Strings | iPhone and iPad apps |
| iOS Stringsdict | iOS plural rules |
| JSON i18n | Web apps using i18next |
| JSON Flat | Simple key-value JSON for any platform |
| JSON Nested | Nested JSON (dot-separated keys become object structure) |
| ARB | Flutter mobile apps |
| XLIFF | Industry-standard interchange format for translation tools |
For more details on each format, see the Export & Sync page.
Team Permissions
Every project automatically comes with three built-in roles that control what team members can do. Users are assigned to one of these roles per project, so someone can be a Manager on one project and a Contributor on another.
| Role | What They Can Do |
|---|---|
| Viewer | Read-only access — can browse strings, view translations, and see project settings, but cannot make changes |
| Contributor | Can add new strings, create and edit translations, and submit work for review |
| Manager | Full control — manage project settings, add or remove languages and formats, review and approve translations, and configure external sync |
Linking Documents to Projects
In addition to individual strings, projects can include full documents for translation. This is useful when you need to translate both short UI text (strings) and longer-form content (articles, help pages, legal documents) within the same project. Documents linked to a project follow the same translation and review workflow as strings.
See the Documents page to learn more about document localization.