React 使用
@18ways/react 為您提供運行時原語。主要工作是將它們清晰地範圍化。
根模式與範圍模式
在根本上,Ways 擁有 API 金鑰、地區、接受的地區以及共享翻譯存儲。
嵌套的 Ways 範疇只需要上下文:
<Ways
apiKey="YOUR_18WAYS_PUBLIC_API_KEY"
locale="es-ES"
baseLocale="en-GB"
context="checkout"
>
<Ways context="payment-form">
<PaymentForm />
</Ways>
</Ways>載入中
如果您想在用戶界面中反映翻譯工作,請使用 useTranslationLoading()。
import { useTranslationLoading } from '@18ways/react';
function SavePanel() {
const isTranslationLoading =
useTranslationLoading();
return (
<span>
{isTranslationLoading
? 'Loading translations...'
: 'Ready'}
</span>
);
}區域化鉤子
根執行時提供了兩個低階掛鉤:
import {
useCurrentLocale,
useSetCurrentLocale,
} from '@18ways/react';當您想要建立自己的地區控制項而不是 LanguageSwitcher 時,請使用它們。
語言切換器
內建的切換器是可控且可組合的。
<LanguageSwitcher
currentLocale={locale}
onLocaleChange={setLocale}
direction="down"
/>它從根運行時讀取接受的區域設置列表,並在下一個區域設置解析時處理加載狀態。
組件組合
保持句子完整,並讓 <T> 保持 UI 形狀。
<T>
<a href="/pricing">Click here</a> to see more
</T>訊息格式化逃生通道
預設格式化器是 waysParser。只有在您有具體理由的情況下才應該切換。
messageFormatter="none"會讓字串保持不變。- 自訂格式化函數讓你完全掌控插值。
這應該是罕見的。