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

การใช้ TacoTranslate

การแปลสตริง

ปัจจุบันมีวิธีการแปลสตริงอยู่สามวิธี: คอมโพเนนต์ Translate, ฮุค useTranslation, หรือยูทิลิตี้ translateEntries


การใช้คอมโพเนนต์ Translate
แสดงผลการแปลภายในองค์ประกอบ span และรองรับการแสดงผล HTML

import {Translate} from 'tacotranslate/react';

function Page() {
	return <Translate string="Hello, world!" />;
}

คุณสามารถเปลี่ยนประเภทขององค์ประกอบได้โดยใช้ตัวอย่างเช่น as="p" บนคอมโพเนนต์นั้น ๆ


การใช้ useTranslation hook.
ส่งคืนการแปลเป็นสตริงธรรมดา มีประโยชน์ในตัวอย่างเช่น แท็ก meta.

import {useEffect} from 'react';
import {useTranslation} from 'tacotranslate/react';

function Page() {
	const helloWorld = useTranslation('Hello, world!');

	useEffect(() => {
		alert(helloWorld);
	}, [helloWorld]);

	return (
		<title>{useTranslation('My page title')}</title>
	);
}

การใช้ยูทิลิตี้ translateEntries
แปลสตริงบนฝั่งเซิร์ฟเวอร์ เพิ่มประสิทธิภาพให้กับภาพ OpenGraph ของคุณ

import {createEntry, translateEntries} from 'tacotranslate';

async function generateMetadata(locale = 'es') {
	const title = createEntry({string: 'Hello, world!'});
	const description = createEntry({string: 'TacoTranslate on the server'});

	const translations = await translateEntries(
		tacoTranslate,
		{origin: 'opengraph', locale},
		[title, description]
	);

	return {
		title: translations(title),
		description: translations(description)
	};
}

วิธีการแปลสตริงส์

เมื่อสตริงถึงเซิร์ฟเวอร์ของเรา เราจะทำการตรวจสอบและบันทึกก่อน จากนั้นจะส่งผลลัพธ์การแปลด้วยเครื่องกลับมาอย่างรวดเร็ว แม้ว่าการแปลด้วยเครื่องโดยทั่วไปจะมีคุณภาพต่ำกว่าการแปลด้วย AI ของเรา แต่มันจะให้การตอบสนองเบื้องต้นอย่างรวดเร็ว

ในเวลาเดียวกัน เราเริ่มงานแปลแบบอะซิงโครนัสเพื่อสร้างการแปลด้วย AI คุณภาพสูงและล้ำสมัยสำหรับสตริงของคุณ เมื่อการแปลด้วย AI พร้อมใช้งานแล้ว มันจะแทนที่การแปลด้วยเครื่องจักร และจะถูกส่งให้ทุกครั้งที่คุณร้องขอการแปลสำหรับสตริงของคุณ

หากคุณได้แปลข้อความด้วยตนเอง การแปลเหล่านั้นจะมีความสำคัญมากกว่าและจะถูกส่งคืนแทน

การใช้งานต้นกำเนิด (Utilizing origins)

โครงการ TacoTranslate ประกอบด้วยสิ่งที่เราเรียกว่า origins ซึ่งเปรียบเสมือนจุดเริ่มต้น โฟลเดอร์ หรือกลุ่มสำหรับสตริงและการแปลของคุณ

import {TacoTranslate} from 'tacotranslate/react';

function Menu() {
	return (
		<TacoTranslate origin="application-menu">
			// ...
		</TacoTranslate>
	);
}

Origins ช่วยให้คุณแยกสตริงออกเป็นภาชนะที่มีความหมายได้ ตัวอย่างเช่น คุณอาจมี origin หนึ่งสำหรับเอกสาร และอีก origin สำหรับหน้าการตลาดของคุณ

สำหรับการควบคุมที่ละเอียดมากขึ้น คุณสามารถตั้งค่า origins ในระดับคอมโพเนนต์ได้ครับ/ค่ะ

ในการทำเช่นนี้ ให้พิจารณา ใช้ผู้ให้บริการ TacoTranslate หลายราย ภายในโปรเจกต์ของคุณ

โปรดทราบว่า the same string อาจได้รับการแปลที่แตกต่างกันใน different origins

สุดท้ายแล้ว วิธีที่คุณแยกสตริงออกเป็น origins ขึ้นอยู่กับคุณและความต้องการของคุณ อย่างไรก็ตาม โปรดทราบว่าการมีสตริงจำนวนมากภายใน origin เดียว อาจเพิ่มเวลาการโหลดได้

การจัดการตัวแปร

คุณควรใช้ตัวแปรเสมอสำหรับเนื้อหาที่เปลี่ยนแปลงได้ เช่น ชื่อผู้ใช้ วันที่ ที่อยู่อีเมล และอื่นๆ

ตัวแปรในสตริงจะถูกประกาศโดยใช้วงเล็บคู่ เช่น {{variable}}.

import {Translate} from 'tacotranslate/react';

function Greeting() {
	const name = 'Juan';
	return <Translate string="Hello, {{name}}!" variables={{name}} />;
}
import {useTranslation} from 'tacotranslate/react';

function useGreeting() {
	const name = 'Juan';
	return useTranslation('Hello, {{name}}!', {variables: {name}});
}

การจัดการเนื้อหา HTML

โดยค่าเริ่มต้น คอมโพเนนต์ Translate จะรองรับและแสดงเนื้อหา HTML อย่างไรก็ตาม คุณสามารถเลือกไม่ใช้พฤติกรรมนี้ได้โดยตั้งค่า useDangerouslySetInnerHTML เป็น false.

ขอแนะนำอย่างยิ่งให้ปิดการแสดงผล HTML เมื่อทำการแปลเนื้อหาที่ไม่น่าเชื่อถือ เช่น เนื้อหาที่ผู้ใช้สร้างขึ้น

ผลลัพธ์ทั้งหมดจะถูกทำความสะอาดเสมอด้วย sanitize-html ก่อนที่จะถูกแสดงผล

import {Translate} from 'tacotranslate/react';

function Page() {
	return (
		<Translate
			string={`
				Welcome to <strong>my</strong> website.
				I’m using <a href="{{url}}">TacoTranslate</a> to translate text.
			`}
			variables={{url: 'https://tacotranslate.com'}}
			useDangerouslySetInnerHTML={false}
		/>
	);
}

ตัวอย่างข้างต้นจะแสดงผลเป็นข้อความธรรมดา

การเรนเดอร์ฝั่งเซิร์ฟเวอร์

ผลิตภัณฑ์จาก Nattskiftet