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

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

การจัดการกับภาษาเขียนจากขวาไปซ้าย

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

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