שיטות עבודה מומלצות
הציבו כתובות URL במשתנים
כאשר מתרגמים מחרוזות המכילות כתובות URL או נתונים דומים, מומלץ להכניס את כתובות ה‑URL למשתנים ואז להתייחס אליהן בתוך התבניות.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>
השתמש בתוויות ARIA
כאשר מתרגמים את הטקסט של רכיבים אינטראקטיביים כמו לחצנים, חשוב לכלול תוויות ARIA כדי להבטיח נגישות. תוויות ARIA עוזרות לקוראי מסך לספק מידע תיאורי על תפקוד הרכיב.
למשל, אם יש לך לחצן שמאפשר למשתמשים להעתיק טקסט מתוך בלוק קוד, ניתן להשתמש בתכונה aria-label
כדי לספק תיאור ברור:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>
יש בזה משהו מאוד מטא.
מערך המקורות הגלובלי ומקורות מרובים לרכיבים
תבנית זו פועלת רק כאשר משתמשים בNext.js Pages Router.
כאשר עובדים עם יישומים גדולים יותר, מומלץ לפצל את המחרוזות והתרגומים למקורות מרובים וקטנים יותר. גישה זו מסייעת להקטין את גודל החבילה וזמני ההעברה, ובכך מבטיחה לוקליזציה יעילה וניתנת להרחבה.
אף שזו פעולה פשוטה בעת רינדור בצד הלקוח בלבד, ניהול המקורות נעשה במהרה מורכב כאשר מושכים תרגומים לרינדור מצד השרת. עם זאת, ניתן לאוטומט את ניהול המקורות על ידי שימוש במערך origins
של לקוח TacoTranslate.
להלן דוגמה שבה הפרדנו את הרכיבים והדפים שלנו לקבצים נפרדים.
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});
}
ראו את דוגמאות להצגה בצד השרת למידע נוסף על getTacoTranslateStaticProps
.