Supported languages
| Language | Code |
|---|---|
| English | en |
| Spanish | es |
| Italian | it |
| Portuguese | pt |
| French | fr |
| German | de |
| Greek | el |
Email language settings
You can control the language of outgoing signing notification emails via the API by setting alanguage field at the company or workspace level.
Setting the language
Company level — Sets the default email language for all workspaces:Cascading hierarchy
Email language follows a cascading priority:| Priority | Level | Description |
|---|---|---|
| 1 (highest) | Signing request | Language of the specific signing request |
| 2 | Workspace | Default for all signing requests in the workspace |
| 3 (lowest) | Company | Default for all workspaces in the account |
How language detection works (embeddable UI)
Firma uses a 2-tier fallback system to select the right language for each embeddable.1. Local storage
On return visits, Firma checks the browser’s local storage for a cached language preference. This provides instant language selection without a network request.2. Browser detection (default)
On a user’s first visit, Firma automatically matches the language to their browser or system language setting. If the detected language isn’t one of the 7 supported languages, Firma defaults to English.URL-based language override for embedded signing
You can force a specific language by appending thelang query parameter to any Firma URL:
- Link directly into Firma in the correct locale for your users
- Pre-select the language in embedded iframes
- Test the signing experience in different languages
Supported values
Use the two-letter language codes from the table above:en, es, it, pt, fr, de, el.
Example: Embed signing in Spanish
Localization in embeddable components
Firma’s embeddable components fully support localization:- Embeddable signing — The signing interface renders in the detected or overridden language
- Embeddable template editor — Template creation and editing UI is fully localized
- Embeddable signing request editor — The signing request configuration interface supports all 7 languages
Non-persistent mode for iframes
When Firma is embedded in an iframe, language preferences operate in a non-persistent mode. This means the language is determined by:- The
langURL parameter (if provided) - The parent page’s context
lang query parameter to control the language explicitly in iframe contexts.
Example: Dynamic language selection
Best practices
Use the lang parameter in embedded signing— Don’t rely on browser detection in iframe contexts. Pass the language explicitly to ensure a consistent experience.- Match your application’s locale — When embedding Firma, pass the same locale your application is using so the signing experience feels seamless.
- Let users choose — For direct Firma links (e.g., in emails), omit the
langparameter and let Firma’s automatic detection handle it. Users who have set a preference will see their chosen language.
Related guides
- Embeddable Signing — Embed the signing experience in your app
- Embeddable Template Editor — Let users edit templates with JWT auth
- Embeddable Signing Request Editor — Configure signing requests in your UI
- White Labeling — Custom domains, embedded experiences, and branding