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 พร้อมใช้งาน มันจะมาแทนที่การแปลด้วยเครื่อง และจะถูกส่งทุกครั้งที่คุณร้องขอการแปลสำหรับสตริงของคุณ

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

การใช้ต้นทาง

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

import {TacoTranslate} from 'tacotranslate/react';

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

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

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

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

โปรดทราบว่า สตริงเดียวกันอาจได้รับการแปลที่แตกต่างกันในต้นทางที่แตกต่างกัน

ในท้ายที่สุด วิธีที่คุณแยกสตริงเป็น 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ผลิตในนอร์เวย์