Guias

Assinaturas Eletrónicas Multilingues: Como Localizar a Assinatura Incorporada em 15 Idiomas

Escrito por

Ilustração de um globo com uma região roxa destacada cercada por anéis concêntricos, representando a assinatura eletrónica localizada.

Se está a incorporar a experiência de assinatura do Firma.dev na sua aplicação, é provável que pretenda que ela corresponda ao idioma do seu utilizador. Este guia explica como o Firma.dev gere a localização e como controlá-la na sua integração.

Como o Firma.dev Deteta o Idioma

O Firma.dev utiliza um sistema de deteção em 3 níveis, verificados por esta ordem:

  1. Parâmetro de URL (?lang=xx): Prioridade máxima. Se passar um código de idioma no URL, é isso que o utilizador vê.

  2. Armazenamento local: Em visitas repetidas, o Firma.dev verifica se existe uma preferência de idioma em cache. Isto proporciona uma seleção instantânea do idioma sem necessidade de um pedido de rede.

  3. Deteção do navegador: Recorre à definição de idioma do navegador ou do sistema do utilizador.

Se o idioma detetado não for um dos 15 idiomas suportados, o Firma.dev assume o inglês por defeito.

Idiomas Suportados

O Firma.dev suporta estes idiomas logo ao início:

Idioma

Código

Inglês

pt

Espanhol

es

Português

pt

Francês

fr

Italiano

it

Alemão

de

Grego

el

Russo

ru

Polaco

pl

Checo

cs

Sueco

sv

Neerlandês

nl

Romeno

ro

Norueguês (Bokmål)

nb

Catalão

ca

Todos os elementos da interface de utilizador, botões, etiquetas, notificações, e-mails e mensagens de erro estão totalmente traduzidos em cada idioma.

Controlar o Idioma na Assinatura Incorporada

Quando incorpora o fluxo de assinatura num iframe, a deteção pelo navegador não funciona de forma fiável. O iframe herda o contexto da página principal, e não as definições do navegador do utilizador. É necessário indicar o idioma explicitamente.

Adicione o parâmetro ?lang= ao URL de assinatura:

<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>

Fonte: Guia de Localização

Isto força a interface de assinatura a ser apresentada em espanhol, independentemente das definições do navegador do utilizador.

Obter URLs de Assinatura e Renderizar o Iframe

Eis como obter o URL de assinatura a partir da API e renderizá-lo dinamicamente:

// fetch signing request
const r = await fetch('/internal/signing-request/' + signingRequestId)
const json = await r.json()

// get recipient signing URL
const recipient = json.recipients[0]
const signingUrl = recipient.signing_url || `https://app.firma.dev/signing/${recipient.id}`

// render 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)
// fetch signing request
const r = await fetch('/internal/signing-request/' + signingRequestId)
const json = await r.json()

// get recipient signing URL
const recipient = json.recipients[0]
const signingUrl = recipient.signing_url || `https://app.firma.dev/signing/${recipient.id}`

// render 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)
// fetch signing request
const r = await fetch('/internal/signing-request/' + signingRequestId)
const json = await r.json()

// get recipient signing URL
const recipient = json.recipients[0]
const signingUrl = recipient.signing_url || `https://app.firma.dev/signing/${recipient.id}`

// render 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)

Fonte: Guia de Envio de Pedido de Assinatura

Para corresponder ao locale da sua aplicação, adicione o parâmetro de idioma ao definir a origem do iframe:

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

Isto mantém a experiência de assinatura consistente com o resto da sua aplicação.

Boas Práticas

Estas diretrizes provêm diretamente da documentação do Firma.dev:

  • Utilize o parâmetro lang na assinatura incorporada: Não confie na deteção pelo navegador em contextos de iframe. Indique o idioma explicitamente para garantir uma experiência consistente.

  • Faça corresponder o locale da sua aplicação: Ao incorporar o Firma.dev, transmita o mesmo locale que a sua aplicação está a utilizar para que a experiência de assinatura seja totalmente fluida.

  • Deixe os utilizadores escolherem: Para ligações diretas do Firma.dev (por exemplo, em e-mails), omita o parâmetro lang e deixe que a deteção automática do Firma.dev resolva. Os utilizadores que tiverem definido uma preferência verão o idioma escolhido.

Fonte: Guia de Localização

O Firma.dev traduz a interface de assinatura e os respetivos e-mails, e o seu documento é apresentado exatamente como o carregou. Um signatário em Madrid verá botões e instruções em espanhol em torno de qualquer idioma em que o contrato esteja redigido. Se os seus signatários lerem outro idioma, traduza o ficheiro antes de o carregar. Um tradutor de IA profissional como o Lara Translate dá-lhe um rascunho rapidamente e permite-lhe adicionar contexto para orientar a tradução. No caso de contratos e outros documentos sensíveis, peça a um revisor qualificado — idealmente alguém que conheça o direito contratual do país do signatário — para verificar a versão traduzida antes de esta ser enviada para assinatura.

Localização noutros Componentes Incorporáveis

O parâmetro ?lang= funciona da mesma forma para os outros componentes incorporáveis do Firma.dev:

  • Editor de modelos incorporável: Para criar e editar modelos de documentos

  • Editor de pedidos de assinatura incorporável: Para configurar destinatários e opções de envio

Ambos utilizam autenticação JWT e suportam todos os 15 idiomas. Consulte o Guia do Editor de Pedidos de Assinatura Incorporável para mais pormenores sobre a implementação.

Uma Nota sobre a Infraestrutura

O Firma.dev está alojado na UE (região AWS Paris), o que combina na perfeição com o suporte multilingue caso esteja a servir mercados europeus. A plataforma suporta o RGPD e o eIDAS (níveis SES e AdES) para responder a requisitos regulamentares regionais.

Passos Seguintes

Para consultar a referência técnica completa, consulte o Guia de Localização na documentação. Este abrange casos específicos, como equipas com múltiplos idiomas e o comportamento de persistência do idioma.

Pronto para começar a desenvolver? Obter chave API e comece a integrar assinaturas eletrónicas localizadas. Não é necessário cartão de crédito.

  1. Cabeçalho

Imagem de Fundo

Pronto para adicionar assinaturas eletrónicas à sua aplicação?

Comece gratuitamente. Não é necessário cartão de crédito. Pague apenas 0,049 € por envelope quando estiver pronto para começar.

Imagem de Fundo

Pronto para adicionar assinaturas eletrónicas à sua aplicação?

Comece gratuitamente. Não é necessário cartão de crédito. Pague apenas 0,049 € por envelope quando estiver pronto para começar.

Imagem de Fundo

Pronto para adicionar assinaturas eletrónicas à sua aplicação?

Comece gratuitamente. Não é necessário cartão de crédito. Pague apenas 0,049 € por envelope quando estiver pronto para começar.