Restricted Access: This documentation is only accessible to @tenzo.ai and
@salv.ai email addresses.
Availability
The Preferences tab in User Settings includes a display-language setting for Tenzo staff and test accounts. The picker stays hidden for customer accounts, including when support impersonates a customer. Recruiter languages are English, French, Spanish, German, Dutch and Belgian Dutch.
Choose a language and save to reload the recruiter interface. The saved user preference determines the language; the browser language alone does not select a recruiter translation. Customer-written content and saved interview templates retain their original text.
Numeric fields follow the selected language’s regional decimal convention. A matching browser region is respected: German in Switzerland can use different separators from German in Germany. English retains dot-decimal input.
In a comma-decimal field, entering 0,75 or pasting the plain decimal 0.75 preserves the numeric value 0.75. Precision, limits and step controls still apply. Grouped fields, such as the CSV row limit, use their locale’s thousands separator. Mixed or foreign grouped clipboard formats use the field’s native parsing; they are not automatically detected.
Language recovery
If the selected language cannot load, recruiters can keep working in English. A persistent notice explains the temporary fallback and offers Retry. The saved preference stays unchanged. The notice remains visible while retrying and clears after a successful load or a switch to English.
Recruiter translations are required for the switch. Shared support strings and calendar translations load independently, so a slow optional resource does not discard a ready recruiter translation. A newer session preference supersedes an older loading attempt.
Wording dictionaries
The canonical internal dictionary lives in ui/src/recruiter-i18n/glossary.md. It contains the English, French, Spanish, German and Dutch terms for shared controls, recruiting concepts, intake, follow-up questions and interviews, consent, and SMS registration. Belgian Dutch inherits Dutch unless an explicit regional override exists.
Consult the dictionary and the rendered control before changing a translation. Record contextual choices there and update related keys together. The implementation guide in ui/src/recruiter-i18n/README.md explains namespaces, shared-component boundaries, numeric formatting and validation. Keep the dictionary in that one source rather than copying its tables into separate documents.