Project Language Management¶
Ekit allows you to create and manage multilingual projects.
Each project can support several languages, with one designated as the default language.
This document explains:
- how project languages behave
- what happens when languages are enabled or disabled
- how Ekit chooses which language to display
- how content is preserved across changes
1. Default Language¶
Every project must have a default language.
- It is selected when the project is created.
- It cannot be changed later.
- It is always active.
- It is used as the reference language for creating content in new languages.
This ensures that the project always has a stable base version of its content.
2. Active Languages¶
A project may support multiple languages.
Each language has an active or inactive state.
Activating a language¶
When a language is activated:
- If it has been used before, its previous content is restored automatically.
- If it is a new language, Ekit initializes its content using the default language as the source.
Deactivating a language¶
When a language is deactivated:
- Its content is not deleted.
- The language becomes hidden in the user interface.
- If it is activated again, its previous content becomes immediately available.
3. How Ekit Selects Which Language to Display¶
When displaying content in the user interface:
- Ekit uses the language selected by the user.
- If the project does not have content in this language, Ekit falls back to the default language.
- If no content exists at all, a generic placeholder (such as the project slug) is displayed.
This ensures consistent and predictable behavior.
4. Rules and Constraints¶
- A project must always have at least one active language.
- The default language cannot be deactivated.
- The default language cannot be changed once the project is created.
- Deactivating a language does not remove its content.
- Reactivating a language restores its previous content automatically.
These rules prevent accidental data loss and ensure stability.
5. Common Scenarios¶
| Scenario | Result |
|---|---|
| Project only in English; user selects French | English content is shown |
| Project supports FR and EN; default = FR; user selects EN | English content is shown |
| User selects a language not supported by the project | Default language is shown |
| Language is deactivated | Hidden from UI; content is preserved |
| Language is reactivated | Previous content is restored |
6. Summary¶
Ekit’s language system is designed to be flexible and safe:
- The default language provides a stable reference.
- Active languages are visible and editable.
- Inactive languages are hidden but not deleted.
- Reactivating a language immediately restores its previous content.
This approach ensures that multilingual projects remain consistent and easy to maintain over time.