Amalan terbaik
Letakkan URL dalam pembolehubah
Apabila menterjemah rentetan teks yang mengandungi URL atau data serupa, adalah amalan baik untuk meletakkan URL tersebut dalam pembolehubah dan kemudian merujuknya dalam templat anda.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>Gunakan label ARIA
Apabila menterjemahkan teks elemen interaktif seperti butang, adalah penting untuk menyertakan label ARIA bagi memastikan kebolehcapaian. Label ARIA membantu pembaca skrin memberikan maklumat deskriptif tentang fungsi elemen tersebut.
Sebagai contoh, jika anda mempunyai butang yang membolehkan pengguna menyalin teks dari blok kod, anda boleh menggunakan atribut aria-label untuk memberikan penerangan yang jelas:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>Ada sesuatu tentang ini yang terasa sangat meta.
Tatasusunan asal global dan pelbagai asal bagi komponen
Pola ini hanya berfungsi apabila menggunakan Next.js Pages Router.
Apabila bekerja dengan aplikasi yang lebih besar, adalah bermanfaat untuk membahagikan rentetan dan terjemahan kepada beberapa origin yang lebih kecil. Pendekatan ini membantu mengurangkan saiz bundle dan masa pemindahan, memastikan pelokalan yang cekap dan boleh diskalakan.
Walaupun ini mudah apabila hanya dirender di pihak klien, pengurusan origin dengan cepat menjadi rumit apabila mengambil terjemahan untuk perenderan di sisi pelayan. Walau bagaimanapun, anda boleh mengautomasikan pengurusan origin dengan menggunakan tatasusunan origins pada klien TacoTranslate.
Pertimbangkan contoh ini, di mana kami telah memisahkan komponen dan halaman kami ke dalam fail berasingan.
import TacoTranslate, {Translate} from 'tacotranslate/react';
import tacoTranslate from '../tacotranslate-client';
// Set an origin name for this component
const origin = 'components/pricing-table';
// Push the origin into the origins array as this file is imported
tacoTranslate.origins.push(origin);
export default function PricingTable() {
return (
<TacoTranslate origin={origin}>
<Translate string="Pricing table" />
// ...
</TacoTranslate>
);
}import TacoTranslate, {Translate} from 'tacotranslate/react';
import getTacoTranslateStaticProps from 'tacotranslate/next/get-static-props';
import tacoTranslateClient from '../tacotranslate-client';
import PricingTable from '../components/pricing-table';
const origin = 'pages/pricing';
tacoTranslateClient.origins.push(origin);
export default function PricingPage() {
return (
<TacoTranslate origin={origin}>
<Translate string="Pricing page" />
<PricingTable />
</TacoTranslate>
);
}
// We will now fetch translations for all imported components and their origins automatically
export async function getStaticProps(context) {
return getTacoTranslateStaticProps(context, {client: tacoTranslateClient});
}Lihat contoh pemerenderan sisi pelayan kami untuk maklumat lanjut tentang getTacoTranslateStaticProps.