मुख्य अवधारणाएँ
18ways कुछ बातों को लेकर स्पष्ट राय रखता है। एक बार ये साफ हो जाएँ, तो API का बाकी हिस्सा सीधा-सादा है।
आधार लोकेल
आपका baseLocale वह भाषा है जिसमें आप लिखते हैं।
यदि आपका उत्पाद विवरण ब्रिटिश अंग्रेज़ी में लिखा गया है, तो आपका आधार लोकेल en-GB है। यदि यह अमेरिकी अंग्रेज़ी में लिखा गया है,
तो आपका आधार लोकेल en-US है।
जब वर्तमान लोकेल बेस लोकेल से मेल खाती है, तो 18ways तुरंत स्रोत पाठ वापस करता है और अनुवाद का काम छोड़ देता है।
लक्ष्य लोकेल
आपका लक्षित लोकेल वही भाषा है जिसे उपयोगकर्ता अभी पढ़ रहा है।
Next.js में, एडाप्टर इसे middleware, cookies, pathname, और browser preferences से resolve कर सकता है.
संदर्भ
Contexts इस तरह हैं कि 18ways संबंधित कॉपी को समूहित करता है।
इनका इस्तेमाल अनुवाद अनुरोधों को छोटा रखने और असंबंधित पाठ को एक साथ मिलाने से बचने के लिए करें।
'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>
);
}नेस्टेड Ways स्कोप एक संदर्भ पथ में संयोजित होते हैं। marketing और hero मिलकर
marketing.hero बनते हैं।
स्वीकृत लोकेल
18ways निम्न के बीच अंतर करता है:
- ऐसा लोकेल जिसे यह पहचान सके, जैसे
fr-FR - एक लोकेल जिसे आपका प्रोजेक्ट वास्तव में स्वीकार करता है
रनटाइम API से स्वीकृत लोकेल सूची ला सकता है, फिर आने वाले लोकेल मानों को उस सूची के अनुसार सामान्यीकृत कर सकता है।
इसीलिए @18ways/next /en-US/docs को /en-GB/docs पर रीडायरेक्ट करने जैसी समझदारी भरी चीज़ें कर सकता है
जब सिर्फ़ en-GB ही सक्षम हो.
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;दृढ़ता
रनटाइम द्वारा इस्तेमाल की जाने वाली लोकेल प्राथमिकता कुकी 18ways_locale है।
जब अनुवाद लोड होते हैं
@18ways/next सर्वर पर लोकेल को resolve कर सकता है, context translations को seed कर सकता है, और अनुवादित
metadata emit कर सकता है।
साझा मानसिक मॉडल
मॉडल को सरल रखें:
- अपने ऐप के लिए सही पैकेज चुनें।
- बेस लोकेल को सही तरीके से सेट करें।
- संदर्भ कुंजियों को स्थिर और सार्थक रखें।
- रनटाइम को पूरी वाक्यांशों का अनुवाद करने दें, न कि टुकड़ों का।
अगला: संदेश स्वरूपण