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