TacoTranslate
/
Tài liệuBảng giá
 
  1. Giới thiệu
  2. Bắt đầu
  3. Cài đặt và cấu hình
  4. Sử dụng TacoTranslate
  5. Kết xuất phía máy chủ
  6. Sử dụng nâng cao
  7. Thực hành tốt nhất
  8. Xử lý lỗi và gỡ lỗi
  9. Ngôn ngữ được hỗ trợ

Thực hành tốt nhất

Đặt URL vào biến

Khi dịch các chuỗi chứa URL hoặc dữ liệu tương tự, nên đặt những URL này vào các biến và sau đó tham chiếu chúng trong mẫu (template) của bạn.

<Translate
	string={`Click <a href="{{url}}">here</a>`}
	variables={{url: 'https://tacotranslate.com'}}
/>

Sử dụng nhãn ARIA

Khi dịch văn bản của các phần tử tương tác như nút bấm, điều quan trọng là phải thêm nhãn ARIA để đảm bảo khả năng truy cập. Nhãn ARIA giúp trình đọc màn hình cung cấp thông tin mô tả về chức năng của phần tử.

Ví dụ, nếu bạn có một nút cho phép người dùng sao chép văn bản từ một khối mã, bạn có thể sử dụng thuộc tính aria-label để cung cấp mô tả rõ ràng:

<Translate
	aria-label={useTranslation('Copy to clipboard')}
	string="Copy"
/>

Có điều gì đó về chuyện này có vẻ rất meta.

Mảng origin toàn cục và nhiều origin của thành phần

Mẫu này chỉ hoạt động khi sử dụng Next.js Pages Router.

Khi làm việc với các ứng dụng lớn hơn, việc tách các chuỗi và bản dịch thành nhiều nguồn nhỏ hơn là có lợi. Cách tiếp cận này giúp giảm kích thước bundle và thời gian truyền tải, đảm bảo quá trình bản địa hóa hiệu quả và có thể mở rộng.

Trong khi điều này đơn giản khi chỉ kết xuất ở phía client, việc quản lý các nguồn nhanh chóng trở nên phức tạp khi lấy bản dịch cho kết xuất phía máy chủ. Tuy nhiên, bạn có thể tự động hóa việc quản lý nguồn bằng cách sử dụng mảng origins của client TacoTranslate.

Hãy xem ví dụ này, nơi chúng tôi đã tách các thành phần và các trang thành các tệp riêng biệt.

components/pricing-table.tsx
import TacoTranslate, {Translate} from 'tacotranslate/react';
import tacoTranslate from '../tacotranslate-client';

// Set an origin name for this component
const origin = 'components/pricing-table';

// Push the origin into the origins array as this file is imported
tacoTranslate.origins.push(origin);

export default function PricingTable() {
	return (
		<TacoTranslate origin={origin}>
			<Translate string="Pricing table" />
			// ...
		</TacoTranslate>
	);
}
pages/pricing.tsx
import TacoTranslate, {Translate} from 'tacotranslate/react';
import getTacoTranslateStaticProps from 'tacotranslate/next/get-static-props';
import tacoTranslateClient from '../tacotranslate-client';
import PricingTable from '../components/pricing-table';

const origin = 'pages/pricing';
tacoTranslateClient.origins.push(origin);

export default function PricingPage() {
	return (
		<TacoTranslate origin={origin}>
			<Translate string="Pricing page" />
			<PricingTable />
		</TacoTranslate>
	);
}

// We will now fetch translations for all imported components and their origins automatically
export async function getStaticProps(context) {
	return getTacoTranslateStaticProps(context, {client: tacoTranslateClient});
}

Xem ví dụ về kết xuất phía máy chủ của chúng tôi để biết thêm thông tin về getTacoTranslateStaticProps.

Xử lý lỗi và gỡ lỗi

Một sản phẩm của NattskiftetSản xuất tại Na Uy