Skip to main content

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

FieldTypeRequiredDescriptionValidators
source_textstrOriginal text in default languageminLen: 1, maxLen: 1000
translated_textstrTranslated text in target localeminLen: 1, maxLen: 1000
localestrTarget locale code (e.g., 'fr', 'es', 'hi')minLen: 2, maxLen: 10, pattern: ^[a-z]{2}(_[A-Z]{2})?$
contextstrNoneOptional context for disambiguation

Configuration

SettingValue
SubmittableFalse
Track ChangesTrue

Controller

Controller hooks are implemented in *_controller.py files. Available lifecycle hooks:

  • validate() - Called before save, raise exceptions for validation errors
  • before_insert() - Called before inserting a new document
  • after_insert() - Called after successfully inserting
  • before_save() - Called before saving (insert or update)
  • after_save() - Called after saving
  • before_delete() - Called before deleting
  • after_delete() - Called after deleting