Khái niệm cốt lõi
18ways có quan điểm rõ ràng về một vài điều. Khi những điều này đã rõ, phần còn lại của bề mặt API trở nên đơn giản.
Ngôn ngữ cơ sở
baseLocale của bạn là ngôn ngữ mà bạn viết bằng.
Nếu nội dung mô tả sản phẩm của bạn được viết bằng tiếng Anh Anh, thì ngôn ngữ cơ sở của bạn là en-GB. Nếu nó được viết
bằng tiếng Anh Mỹ, thì ngôn ngữ cơ sở của bạn là en-US.
Khi ngôn ngữ hiện tại trùng với ngôn ngữ gốc, 18ways trả về ngay văn bản nguồn và bỏ qua công việc dịch thuật.
Ngôn ngữ đích
Ngôn ngữ đích của bạn là ngôn ngữ mà người dùng hiện đang đọc.
Trong Next.js, bộ điều hợp có thể phân giải từ middleware, cookie, pathname và tùy chọn của trình duyệt.
Ngữ cảnh
Ngữ cảnh là cách 18ways nhóm các đoạn nội dung liên quan.
Hãy dùng chúng để giữ cho các yêu cầu dịch ngắn gọn và tránh trộn lẫn những đoạn văn bản không liên quan với nhau.
'use client';
import { Ways } from '@18ways/react';
export function MarketingPage() {
return (
<Ways context="marketing">
<Ways context="hero">
<Hero />
</Ways>
<Ways context="pricing">
<Pricing />
</Ways>
</Ways>
);
}Các phạm vi Ways lồng nhau kết hợp thành một đường dẫn ngữ cảnh. marketing cộng với hero sẽ thành
marketing.hero.
Ngôn ngữ được chấp nhận
18ways phân biệt giữa:
- một ngôn ngữ vùng mà nó có thể nhận ra, như
fr-FR - một ngôn ngữ mà dự án của bạn thực sự chấp nhận
Runtime có thể lấy danh sách locale được chấp nhận từ API, rồi chuẩn hoá các giá trị locale đầu vào so với danh sách đó.
Đó là lý do tại sao @18ways/next có thể làm những việc hợp lý như chuyển hướng /en-US/docs sang /en-GB/docs
khi chỉ có en-GB được bật.
import type { WaysConfig } from '@18ways/next/config';
export default {
apiKey: 'pk_dummy_demo_token',
baseLocale: 'en-GB',
router: 'app', // 'app', 'path', or 'none' depending on if you use app router, path router, or if you don't want the router to sync with locale at all
} satisfies WaysConfig;Sự kiên trì
Cookie tùy chọn ngôn ngữ được runtime sử dụng là 18ways_locale.
Khi bản dịch được tải
@18ways/next có thể phân giải locale trên máy chủ, gieo sẵn các bản dịch trong context, và xuất ra metadata đã được dịch.
Mô hình tinh thần chung
Giữ mô hình đơn giản:
- Chọn gói phù hợp cho ứng dụng của bạn.
- Thiết lập đúng ngôn ngữ cơ sở.
- Giữ cho các khóa ngữ cảnh ổn định và có ý nghĩa.
- Hãy để runtime dịch các cụm từ hoàn chỉnh, không phải các mảnh rời.
Tiếp theo: Định dạng tin nhắn