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 หนึ่งสำหรับเอกสาร และอีก origin สำหรับหน้าการตลาดของคุณ

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

เพื่อให้สำเร็จลุล่วง โปรดพิจารณา การใช้ผู้ให้บริการ TacoTranslate หลายราย ภายในโครงการของคุณ

โปรดทราบว่า string เดียวกันอาจได้รับการแปลที่แตกต่างกันใน 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ผลิตในประเทศนอร์เวย์