Guides

Comment localiser vos flux de signature électronique pour les utilisateurs internationaux

Design abstrait avec des lignes courbes, un centre violet et le texte 'Localize Esign Flow' sur un fond sombre. Style numérique moderne.

Si vous intégrez l'expérience de signature de Firma.dev dans votre application, vous souhaitez probablement qu'elle corresponde à la langue de votre utilisateur. Ce guide explique comment Firma.dev gère la localisation et comment la contrôler dans votre intégration.

Comment Firma.dev détecte la langue

Firma.dev utilise un système de détection à 3 niveaux, vérifié dans cet ordre :

  1. Paramètre d'URL (?lang=xx) — Priorité la plus élevée. Si vous transmettez un code de langue dans l'URL, c'est ce que l'utilisateur voit.

  2. Stockage local — Lors des visites ultérieures, Firma.dev vérifie une préférence de langue mise en cache. Cela permet une sélection instantanée de la langue sans requête réseau.

  3. Détection du navigateur — Replie sur la langue du navigateur ou du système de l'utilisateur.

Si la langue détectée ne fait pas partie des 7 langues prises en charge, Firma.dev utilise l'anglais par défaut.

Langues prises en charge

Firma.dev prend en charge ces langues dès le départ :

Langue

Code

Anglais

fr

Espagnol

es

Portugais

pt

Français

fr

Italien

it

Allemand

de

Grec

el

Tous les éléments de l'interface, boutons, libellés, notifications, e-mails et messages d'erreur sont entièrement traduits dans chaque langue.

Contrôler la langue dans la signature intégrée

Lorsque vous intégrez le flux de signature dans un iframe, la détection du navigateur ne fonctionne pas de manière fiable. L'iframe hérite du contexte de la page parente, pas des paramètres du navigateur de l'utilisateur. Vous devez transmettre la langue explicitement.

Ajoutez le paramètre ?lang= à l'URL de signature :

<iframe
  src="https://app.firma.dev/signing/{signing_request_user_id}?lang=es"
  style="width:100%;height:900px;border:0;"
  allow="camera;microphone;clipboard-write"
  title="Firmar Documento"
></iframe>
<iframe
  src="https://app.firma.dev/signing/{signing_request_user_id}?lang=es"
  style="width:100%;height:900px;border:0;"
  allow="camera;microphone;clipboard-write"
  title="Firmar Documento"
></iframe>
<iframe
  src="https://app.firma.dev/signing/{signing_request_user_id}?lang=es"
  style="width:100%;height:900px;border:0;"
  allow="camera;microphone;clipboard-write"
  title="Firmar Documento"
></iframe>

Source : Guide de localisation

Cela force l'interface de signature à s'afficher en espagnol, quel que soit le réglage du navigateur de l'utilisateur.

Récupérer les URL de signature et afficher l'iframe

Voici comment obtenir l'URL de signature depuis l'API et l'afficher dynamiquement :

// récupérer la demande de signature
const r = await fetch('/internal/signing-request/' + signingRequestId)
const json = await r.json()

// obtenir l'URL de signature du destinataire
const recipient = json.recipients[0]
const signingUrl = recipient.signing_url || `https://app.firma.dev/signing/${recipient.id}`

// afficher l'iframe
const iframe = document.createElement('iframe')
iframe.src = signingUrl
iframe.style.width = '100%'
iframe.style.height = '900px'
iframe.frameBorder = '0'
iframe.allow = 'camera;microphone;clipboard-write'
document.getElementById('signing-root').appendChild(iframe)
// récupérer la demande de signature
const r = await fetch('/internal/signing-request/' + signingRequestId)
const json = await r.json()

// obtenir l'URL de signature du destinataire
const recipient = json.recipients[0]
const signingUrl = recipient.signing_url || `https://app.firma.dev/signing/${recipient.id}`

// afficher l'iframe
const iframe = document.createElement('iframe')
iframe.src = signingUrl
iframe.style.width = '100%'
iframe.style.height = '900px'
iframe.frameBorder = '0'
iframe.allow = 'camera;microphone;clipboard-write'
document.getElementById('signing-root').appendChild(iframe)
// récupérer la demande de signature
const r = await fetch('/internal/signing-request/' + signingRequestId)
const json = await r.json()

// obtenir l'URL de signature du destinataire
const recipient = json.recipients[0]
const signingUrl = recipient.signing_url || `https://app.firma.dev/signing/${recipient.id}`

// afficher l'iframe
const iframe = document.createElement('iframe')
iframe.src = signingUrl
iframe.style.width = '100%'
iframe.style.height = '900px'
iframe.frameBorder = '0'
iframe.allow = 'camera;microphone;clipboard-write'
document.getElementById('signing-root').appendChild(iframe)

Source : Guide d'envoi d'une demande de signature

Pour faire correspondre la locale de votre application, ajoutez le paramètre de langue lors de la définition de la source de l'iframe :

const userLocale = getCurrentUserLocale() // renvoie 'es', 'de', 'fr', etc.
iframe.src = `${signingUrl}?lang=${userLocale}`
const userLocale = getCurrentUserLocale() // renvoie 'es', 'de', 'fr', etc.
iframe.src = `${signingUrl}?lang=${userLocale}`
const userLocale = getCurrentUserLocale() // renvoie 'es', 'de', 'fr', etc.
iframe.src = `${signingUrl}?lang=${userLocale}`

Cela permet de conserver une expérience de signature cohérente avec le reste de votre application.

Meilleures pratiques

Ces recommandations proviennent directement de la documentation de Firma.dev :

  • Utilisez le paramètre lang dans la signature intégrée — Ne vous fiez pas à la détection du navigateur dans les contextes iframe. Transmettez la langue explicitement pour garantir une expérience cohérente.

  • Faites correspondre la locale de votre application — Lorsque vous intégrez Firma.dev, transmettez la même locale que celle utilisée par votre application afin que l'expérience de signature semble fluide.

  • Laissez les utilisateurs choisir — Pour les liens Firma.dev directs (par ex. dans les e-mails), omettez le paramètre lang et laissez la détection automatique de Firma.dev faire son travail. Les utilisateurs qui ont défini une préférence verront la langue qu'ils ont choisie.

Source : Guide de localisation

La localisation dans d'autres composants intégrables

Le ?lang= paramètre fonctionne de la même manière pour les autres composants intégrables de Firma.dev :

  • Éditeur de modèles intégrable — Pour créer et modifier des modèles de documents

  • Éditeur intégrable de demandes de signature — Pour configurer les destinataires et les options d'envoi

Les deux utilisent l'authentification JWT et prennent en charge les 7 langues. Consultez le Guide de l'éditeur intégrable de demandes de signature pour les détails d'implémentation.

Une remarque sur l'infrastructure

Firma.dev est hébergé dans l'UE (région AWS Paris), ce qui s'accorde bien avec la prise en charge multilingue si vous servez des marchés européens. La plateforme prend en charge le RGPD et l'eIDAS (niveaux SES et AdES) pour les besoins de conformité régionale.

Étapes suivantes

Pour la référence technique complète, consultez le Guide de localisation dans la documentation. Il couvre des cas particuliers comme les équipes multilingues et le comportement de persistance de la langue.

Prêt à créer ? Obtenir la clé API et commencez à intégrer des signatures électroniques localisées. Aucune carte de crédit requise.

  1. Titre

Image de fond

Prêt à ajouter des signatures électroniques à votre application ?

Commencez gratuitement. Aucune carte de crédit requise. Payez seulement 0,049 € par enveloppe lorsque vous serez prêt à lancer votre activité.

Image de fond

Prêt à ajouter des signatures électroniques à votre application ?

Commencez gratuitement. Aucune carte de crédit requise. Payez seulement 0,049 € par enveloppe lorsque vous serez prêt à lancer votre activité.

Image de fond

Prêt à ajouter des signatures électroniques à votre application ?

Commencez gratuitement. Aucune carte de crédit requise. Payez seulement 0,049 € par enveloppe lorsque vous serez prêt à lancer votre activité.