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

การใช้งานขั้นสูง

การจัดการภาษาที่อ่านจากขวาไปซ้าย

TacoTranslate ทำให้การรองรับภาษาที่อ่านจากขวาไปซ้าย (RTL) เช่น ภาษาอาหรับและภาษาฮิบรู ในแอป React ของคุณเป็นเรื่องง่าย การจัดการภาษาที่อ่านจากขวาไปซ้ายอย่างถูกต้องช่วยให้เนื้อหาของคุณแสดงผลได้อย่างถูกต้องสำหรับผู้ใช้ที่อ่านจากขวาไปซ้าย

import {useTacoTranslate} from 'tacotranslate/react';

function Document() {
	const {locale, isRightToLeft} = useTacoTranslate();

	return (
		<html lang={locale} dir={isRightToLeft ? 'rtl' : 'ltr'}>
			<body>
				// ...
			</body>
		</html>
	);
}

คุณยังสามารถใช้ฟังก์ชัน isRightToLeftLocaleCode ที่มีให้เพื่อเช็คภาษาปัจจุบันนอกเหนือจาก React ได้อีกด้วย

import {isRightToLeftLocaleCode} from 'tacotranslate';

function foo(locale = 'es') {
	const direction = isRightToLeftLocaleCode(locale) ? 'rtl' : 'ltr';
	// ...
}

ปิดการแปล

หากต้องการปิดการแปลสำหรับบางส่วนของข้อความหรือเพื่อให้บางส่วนถูกเก็บไว้ตามเดิม คุณสามารถใช้เครื่องหมาย triple square brackets ฟีเจอร์นี้มีประโยชน์สำหรับการรักษารูปแบบต้นฉบับของชื่อศัพท์เฉพาะทาง หรือเนื้อหาอื่น ๆ ที่ไม่ควรถูกแปล

import {Translate} from 'tacotranslate/react';

function Component() {
	return (
		<Translate string="Hello, [[[TacoTranslate]]]!" />
	);
}

ในตัวอย่างนี้ คำว่า “TacoTranslate” จะยังคงไม่ถูกเปลี่ยนแปลงในการแปล

ผู้ให้บริการ TacoTranslate หลายราย

เราขอแนะนำอย่างยิ่งให้ใช้ผู้ให้บริการ TacoTranslate หลายรายในแอปของคุณ ซึ่งมีประโยชน์สำหรับการจัดระเบียบการแปลและสตริงของคุณให้เป็นต้นทางที่แตกต่างกัน เช่น ส่วนหัว ส่วนท้าย หรือส่วนเฉพาะต่าง ๆ

คุณสามารถ อ่านเพิ่มเติมเกี่ยวกับการใช้ origins ได้ที่นี่

ผู้ให้บริการ TacoTranslate สืบทอดการตั้งค่าจากผู้ให้บริการหลักใด ๆ ดังนั้นคุณจะไม่ต้องทำซ้ำการตั้งค่าอื่นใด

import createTacoTranslateClient from 'tacotranslate';
import {TacoTranslate} from 'tacotranslate/react';

const tacoTranslateClient = createTacoTranslateClient({apiKey: 'YOUR_API_KEY'});

function Header() {
	return (
		<TacoTranslate origin="header">
			// ...
		</TacoTranslate>
	);
}

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

export default function App() {
	return (
		<TacoTranslate client={tacoTranslateClient} origin="page" locale="es">
			<Header />
			<Menu />
		</TacoTranslate>
	);
}

การเขียนทับ origin หรือ locale

นอกจากการใช้ผู้ให้บริการ TacoTranslate หลายรายแล้ว คุณยังสามารถเขียนทับทั้ง origin และ locale ได้ในระดับของคอมโพเนนต์ Translate และฮุก useTranslation ด้วยเช่นกัน

import {Translate, useTranslation} from 'tacotranslate/react';

function Greeting() {
	const spanishHello = useTranslation('Hello!', {locale: 'es'});

	return (
		<>
			{spanishHello}
			<Translate string="What’s up?" origin="greeting" />
		</>
	);
}

การจัดการการโหลด

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

import {useTacoTranslate} from 'tacotranslate/react';

function Component() {
	const {isLoading} = useTacoTranslate();

	return (
		isLoading ? 'Translations are loading...' : null
	);
}

การใช้พหูพจน์

ในการจัดการกับการผันพหูพจน์และแสดงป้ายที่ขึ้นกับจำนวนอย่างถูกต้องในภาษาต่างๆ นั้น ถือเป็นแนวปฏิบัติที่ดีที่สุด:

import {Translate, useLocale} from 'tacotranslate/react';

function PhotoCount() {
	const locale = useLocale();
	const count = 1;

	return count === 0 ? (
		<Translate string="You have no photos." />
	) : count === 1 ? (
		<Translate string="You have 1 photo." />
	) : (
		<Translate
			string="You have {{count}} photos."
			variables={{count: count.toLocaleString(locale)}}
		/>
	);
}

หลายภาษา

เพื่อรองรับหลายภาษาในแอปพลิเคชันเดียวกันพร้อมกัน คุณสามารถ ใช้ผู้ให้บริการ TacoTranslate หลายราย ที่มีค่า locale แตกต่างกันดังที่แสดงด้านล่างนี้:

คุณยังสามารถแทนที่ locale ในระดับคอมโพเนนต์หรือฮุค ได้อีกด้วย

import createTacoTranslateClient from 'tacotranslate';
import {TacoTranslate, Translate} from 'tacotranslate/react';

const tacoTranslateClient = createTacoTranslateClient({apiKey: 'YOUR_API_KEY'});

function Spanish() {
	return (
		<TacoTranslate locale="es">
			<Translate string="Hello, world in Spanish!" />
		</TacoTranslate>
	);
}

function Norwegian() {
	return (
		<TacoTranslate locale="no">
			<Translate string="Hello, world in Norwegian!" />
		</TacoTranslate>
	);
}

export default function App() {
	return (
		<TacoTranslate client={tacoTranslateClient} origin="page" locale="es">
			<Spanish />
			<Norwegian />
		</TacoTranslate>
	);
}

การใช้รหัสการแปล

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

import {Translate} from 'tacotranslate/react';

function Header() {
	return (
		<Translate id="header" string="Login" />
	);
}

function Footer() {
	return (
		<Translate id="footer" string="Login" />
	);
}

ตัวอย่างเช่น การเข้าสู่ระบบในส่วนหัวอาจแปลเป็น “Iniciar sesión” และการเข้าสู่ระบบที่ส่วนท้ายอาจแปลเป็น “Acceder” ในภาษาสเปน

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

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