TacoTranslate
/
เอกสารประกอบราคา
 
  1. บทนำ
  2. เริ่มต้นใช้งาน
  3. การตั้งค่าและการกำหนดค่า
  4. การใช้ TacoTranslate
  5. การเรนเดอร์ฝั่งเซิร์ฟเวอร์
  6. การใช้งานขั้นสูง
  7. แนวปฏิบัติที่ดีที่สุด
  8. การจัดการข้อผิดพลาดและการดีบัก
  9. ภาษาที่รองรับ

แนวปฏิบัติที่ดีที่สุด

ใส่ 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

พิจารณาตัวอย่างนี้ ซึ่งเราได้แยกคอมโพเนนต์และหน้าออกเป็นไฟล์แยกกันแล้ว

components/pricing-table.tsx
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>
	);
}
pages/pricing.tsx
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.

การจัดการข้อผิดพลาดและการดีบัก

ผลิตภัณฑ์จาก Nattskiftetผลิตในนอร์เวย์