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

คุณสามารถ อ่านเพิ่มเติมเกี่ยวกับการใช้แหล่งที่มาที่นี่

ผู้ให้บริการ 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>
	);
}

การแทนที่ต้นทางหรือภูมิภาค

นอกจากการใช้ผู้ให้บริการ 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