最佳实践

获得糟糕翻译的最快方法是让运行时绕过可避免的应用结构 问题。

使用真实的上下文名称

好的上下文键解释了文案的位置:

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',
});

避免使用匿名桶,例如 page1copymisc

翻译完整的思想

好:

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

避免:

18ways 可以将常见链接案例作为一条消息处理。 <T><a href="#">点击这里</a> 查看更多</T> 应该保持为一个句子,而不是被拆分并重新拼接在一起。

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(' ');

保持包裹边界清晰

  • 如果您在 Next.js 中,请使用 @18ways/next 进行区域设置解析和元数据。
  • 如果您只使用 React,请在您的应用中保持区域状态,并使用 @18ways/react
  • 如果您在 React 之外,请使用 @18ways/core 并自行负责 UI 集成。

让路由与您的产品匹配

公共营销页面通常希望基于路径的区域路由以优化搜索引擎排名。而内部仪表板和内部工具的路由通常不需要。因此,当前网站将 /dashboard/__design/__email 排除在路径路由之外。

保持源副本为人类所用

18ways 在源文本像真实产品文案而不是压缩的翻译键时效果最佳。

良好的源代码提供了更好的上下文,并为您的团队提供了可读的代码。