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';
	// ...
}

ปิดการแปล

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

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ผลิตในนอร์เวย์