Translation
Translation for multilingual text.
Attributes:
source_text: Original text in default language (usually English)
translated_text: Translated text in target locale
locale: Target locale code (e.g., "fr", "es", "hi", "ta")
context: Optional context for disambiguation (e.g., "button", "label", "error")
Constraints:
Unique: (source_text, locale, context) - prevents duplicate translations
Example:
# Simple translation
t1 = Translation(
source_text="Save",
translated_text="Enregistrer",
locale="fr",
)
# Context-aware translation
t2 = Translation(
source_text="Save",
translated_text="Sauvegarder",
locale="fr",
context="button",
)
Source: translation.py
Fields
| Field | Type | Required | Description | Validators |
|---|---|---|---|---|
| source_text | str | Original text in default language | minLen: 1, maxLen: 1000 | |
| translated_text | str | Translated text in target locale | minLen: 1, maxLen: 1000 | |
| locale | str | Target locale code (e.g., 'fr', 'es', 'hi') | minLen: 2, maxLen: 10, pattern: ^[a-z]{2}(_[A-Z]{2})?$ | |
| context | str | None | Optional context for disambiguation |
Configuration
| Setting | Value |
|---|---|
| Submittable | False |
| Track Changes | True |
Controller
Controller hooks are implemented in *_controller.py files.
Available lifecycle hooks:
validate()- Called before save, raise exceptions for validation errorsbefore_insert()- Called before inserting a new documentafter_insert()- Called after successfully insertingbefore_save()- Called before saving (insert or update)after_save()- Called after savingbefore_delete()- Called before deletingafter_delete()- Called after deleting