Skip to content

Languages

Languages define which locales your project supports. Every project has one source language (the language your developers write in) and one or more target languages (the languages you translate into).

  1. Open your project and navigate to the Languages page from the sidebar.

  2. Click “Add Language”. A dialog opens with a searchable list of over 500 locales.

  3. Search and select the languages you need. You can search by language name, native name, or locale code (for example, “French”, “Francais”, or “fr”).

  4. Confirm your selection. The new languages appear in the languages list immediately.

You can add more languages at any time. Adding a language creates empty translation slots for every existing key in the project — no existing translations are affected.

Your project has exactly one source language. This is the reference language that translators work from. When you create a translation key and enter its value, you are writing in the source language.

All other languages in the project are target languages. Translators see the source value alongside the target field, so they always know what they are translating from.

The Languages page shows real-time progress for each language:

MetricMeaning
TranslatedKeys that have a translation value entered
Not reviewedKeys that have been translated but not yet reviewed by a team member
Not translatedKeys with no value for this language

A progress bar visualizes the ratio so you can quickly spot which languages need attention. Progress updates automatically as your team adds and reviews translations.

Comvi stores locale codes in the form configured for the project. Standard locales usually use BCP 47 hyphenated codes (pt-BR, fr-CA), and custom/internal locales may use underscores (de_formal). Matching is case-insensitive.

CodeLanguage
enEnglish
en-USEnglish (United States)
en-GBEnglish (United Kingdom)
frFrench
pt-BRPortuguese (Brazil)
zh-HansChinese (Simplified)
zh-HantChinese (Traditional)
sr-LatnSerbian (Latin script)

These codes are used throughout the platform, API, CLI, import/export, and CDN URLs. When you add a language, Comvi assigns the correct code automatically from its built-in locale list.

Comvi fully supports right-to-left (RTL) languages such as Arabic (ar), Hebrew (he), Persian (fa), and Urdu (ur). The translation editor adjusts text direction automatically based on the locale, so translators see RTL text displayed correctly as they type.

On the SDK side, every i18n instance exposes a reactive dir getter that returns 'rtl' or 'ltr' based on the active locale — bind it to your <html> or root layout element. See Formatting → Text Direction for framework examples.

To remove a language, open the Languages page, find the language you want to remove, and click the delete action.

You cannot remove the source language. The source language is fixed at project creation and cannot be changed afterwards — pick it deliberately.

Each language in Comvi carries the following metadata:

  • Locale code — the locale identifier (e.g., en-US)
  • Display name — the English name of the language (e.g., “English (United States)”)
  • Native name — the language’s name in its own script (e.g., “English”)
  • Flag — a flag emoji for quick visual identification in the editor

Plural rules are determined automatically for each locale. Languages like English have two plural forms (one, other), while languages like Arabic have six. ICU MessageFormat handles these rules at runtime in the consuming app.