Melhores práticas

A forma mais rápida de obter traduções ruins é fazer com que o tempo de execução contorne problemas de estrutura de aplicativo evitáveis.

Use nomes de contexto reais

Boas chaves de contexto explicam onde o texto está localizado:

ts
await engine.t('Pay now', {
  context: 'checkout.payment-form',
});
 
await engine.t('Billing history', {
  context: 'dashboard.billing-history',
});
 
await engine.t('Simple pricing', {
  context: 'marketing.pricing-hero',
});

Evite baldes anónimos como page1, copy ou misc.

Traduzir pensamentos completos

Bom:

ts
const label = await engine.t(
  'Download your latest invoice as PDF'
);

Evitar:

18ways pode lidar com o caso de link comum como uma mensagem. <T><a href="#">Clique aqui</a> para ver mais</T> deve permanecer como uma frase em vez de ser dividida e costurada novamente.

ts
const first = await engine.t('Download');
const second = await engine.t(
  'your latest invoice'
);
const third = await engine.t('as PDF');
 
const stitched = [first, second, third].join(' ');

Mantenha a fronteira do pacote clara

  • Se estiver no Next.js, use @18ways/next para resolução de localidade e metadados.
  • Se você estiver apenas no React, mantenha o estado de localidade na sua aplicação e use @18ways/react.
  • Se estiver fora do React, use @18ways/core e faça a integração da interface do utilizador você mesmo.

Deixe o encaminhamento corresponder ao seu produto

As páginas de marketing públicas geralmente desejam roteamento de localidade baseado em caminho para SEO. Os painéis internos e as rotas de ferramentas internas muitas vezes não o fazem. É por isso que o site atual exclui /dashboard, /__design e /__email do roteamento por caminho.

Mantenha a cópia original humana

18ways funciona melhor quando o texto de origem é escrito como uma cópia de produto real, e não como uma chave de tradução comprimida.

Uma boa cópia de origem fornece ao modelo um melhor contexto e dá à sua equipa algo legível no código.

Best Practices