Best Practices
Der schnellste Weg, um schlechte Übersetzungen zu erhalten, besteht darin, dass die Laufzeit um vermeidbare Probleme der App-Struktur herumarbeitet.
Verwenden Sie echte Kontextnamen
Gute Kontextschlüssel erklären, wo der Text zu finden ist:
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',
});Vermeiden Sie anonyme Buckets wie page1, copy oder misc.
Übersetze vollständige Gedanken
Gut:
const label = await engine.t('Download your latest invoice as PDF');Vermeiden:
18ways kann den häufigen Linkfall als eine Nachricht behandeln. <T><a href="#">Hier klicken</a> um mehr zu sehen</T> sollte als ein Satz bleiben, anstatt auseinandergerissen und wieder zusammengenäht zu werden.
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(' ');Halten Sie die Paketgrenze klar
- Wenn Sie in Next.js sind, verwenden Sie
@18ways/nextfür die Lokalisierung und Metadaten. - Wenn Sie nur in React sind, halten Sie den Locale-Zustand in Ihrer App und verwenden Sie
@18ways/react. - Wenn Sie außerhalb von React sind, verwenden Sie
@18ways/coreund übernehmen Sie selbst die UI-Integration.
Lassen Sie das Routing mit Ihrem Produkt übereinstimmen
Öffentliche Marketingseiten benötigen in der Regel eine pfadbasierte Lokalisierungsroute für SEO. Interne Dashboards und interne Tool-Routen benötigen dies oft nicht. Deshalb schließt die aktuelle Seite /dashboard, /__design und /__email von der Pfadrouting aus.
Halten Sie die Quellkopie menschlich
18ways funktioniert am besten, wenn der Quelltext wie echte Produktbeschreibung klingt und nicht wie ein komprimierter Übersetzungsschlüssel.
Gute Quelltexte geben dem Modell besseren Kontext und bieten Ihrem Team etwas Lesbares im Code.