Translations
PeoplePit is fully translatable — not just the app’s own buttons and menus, but your configuration too: your record type names, field labels, choice options and workflow state names. Each user picks their own language, and right-to-left languages like Arabic and Hebrew are supported end to end. Everything lives in Admin → Translations.
Adding a language
Section titled “Adding a language”- Open Admin → Translations and add a locale — a language code like
frorarand a display name. - The text direction (left-to-right or right-to-left) is detected automatically from the language; you can override it.
- The new language immediately appears in every user’s language switcher in the top bar.
For languages PeoplePit ships curated defaults for (currently French and Arabic), the App-UI part of the pack is pre-filled automatically the moment you add the locale — the whole native interface is translated out of the box, and you only add your own configuration vocabulary. On a locale added earlier, an Apply suggested defaults button appears in the pack editor: it fills only the entries you haven’t translated, never touching your own wording.
Filling a translation pack
Section titled “Filling a translation pack”Each language has a pack — every translatable text in one editor, grouped in two families:
- App UI — PeoplePit’s own labels: navigation, buttons, headings.
- Configuration — your vocabulary: type names and plurals, field names, picklist option labels, workflow state names, report and dashboard names.
The editor shows source text next to the translation, with search and a filled counter so you can see progress. Fill what matters first — anything untranslated simply falls back to the original. Packs can be exported and imported as files for external translators.
Record data is intentionally not translated — a person’s name or an event’s description is data, the same in every language. Translation covers the labels around the data.
Let the assistant draft it
Section titled “Let the assistant draft it”The fastest path to a complete pack: ask the AI assistant — “Translate the whole app into French.” It reads the missing entries, drafts translations in batches, and proposes them for your approval; you then review and adjust in the pack editor. A full pack of several hundred entries takes minutes instead of days.
Per-user language and the default
Section titled “Per-user language and the default”- Each user’s choice in the top-bar language switcher is remembered as their personal preference.
- Administrators set the workspace default in Admin → Translations — what new users and anyone without a preference gets.
- Switching language reloads the app so every screen — including your own field and type names — appears in the chosen language.
Right-to-left support
Section titled “Right-to-left support”When a user’s language is right-to-left, the whole layout mirrors: the sidebar moves to the right, text aligns right, menus and drawers flip — automatically, with an appropriate typeface. Direction is a property of the locale and can be adjusted in the Translations table; changes apply live.
Dynamic translations — translate content on demand
Section titled “Dynamic translations — translate content on demand”Automatic mode
Section titled “Automatic mode”By default readers click Translate themselves. Turn on Translate automatically (next to Enabled) and content that isn’t in the reader’s language is translated the moment it’s displayed — the link then reads Show original (Portuguese), naming the detected source language, and one click restores the author’s text (with Show translation to switch back). Content already in the reader’s language is shown untouched, with no link at all. Results are cached, so each text costs one provider call per language no matter how many people read it.
Language packs cover the app and your configuration; dynamic translations cover the data: rich text field values and comments (an email thread, a member’s note) get a discreet Translate link, and one click renders that content in the reader’s own language, with Show original to flip back.
Set it up in Admin → Translations → Dynamic translations:
- Pick a service — Google Cloud Translation, DeepL, a self-hosted LibreTranslate server, or any custom HTTP translation API (URL + templated headers/body + a result path).
- Paste the service’s API key (stored encrypted; you can also point DeepL at your Pro endpoint via the URL field).
- Enable and hit Test.
Notes:
- Formatting survives — the services translate the text inside the HTML, keeping links, lists and styling intact.
- Results are cached: translating the same comment into the same language a second time is instant and costs nothing — useful since both Google and DeepL offer a monthly free character quota that a small team rarely exceeds.
- The link only appears for users when a service is configured and enabled; the target language is whatever the reader picked in the top-bar switcher (or the workspace default).