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