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
Section titled “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 | None | Optional context for disambiguation | maxLen: 100 | |
| namespace | str | Translation namespace (e.g., ‘common’, ‘desk’, ‘ui’) | maxLen: 100 |
Permissions
Section titled “Permissions”| Role | Create | Delete | Read | Write |
|---|---|---|---|---|
| Admin | ✓ | ✓ | ✓ | ✓ |
| All | ✓ | |||
| User | ✓ |
Configuration
Section titled “Configuration”| Setting | Value |
|---|---|
| Submittable | False |
| Track Changes | True |
Controller
Section titled “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