উন্নত ব্যবহার
ডান থেকে বামে লেখার ভাষা পরিচালনা
TacoTranslate আপনার React অ্যাপ্লিকেশনগুলোতে ডান-থেকে-বামে (RTL) ভাষা, যেমন আরবি ও হিব্রু, সমর্থন করা সহজ করে তোলে। 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 প্রোভাইডার ব্যবহার করার জন্য দৃঢ়ভাবে উৎসাহিত করি। এটি আপনার অনুবাদ এবং স্ট্রিংগুলোকে বিভিন্ন উৎসে, যেমন আপনার হেডার, ফুটার বা নির্দিষ্ট বিভাগগুলোতে সংগঠিত করার কাজে উপকারী।
আপনি উৎস ব্যবহার সম্পর্কে আরও জানতে এখানে পড়ুন।
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>
);
}অরিজিন বা লোকেল ওভাররাইড করা
একাধিক TacoTranslate প্রোভাইডার ব্যবহার করার পাশাপাশি, আপনি Translate কম্পোনেন্ট এবং useTranslation হুক স্তরে origin এবং locale উভয়ই ওভাররাইড করতে পারেন।
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 কম্পোনেন্টে যোগ করতে পারেন। এটি বিশেষভাবে উপকারী যখন একই টেক্সটটি প্রসঙ্গের উপর ভিত্তি করে ভিন্ন অনুবাদ প্রয়োজন হয়। অনন্য আইডি বরাদ্দ করে আপনি নিশ্চিত করবেন যে স্ট্রিংটির প্রতিটি উদাহরণ তার নির্দিষ্ট অর্থ অনুসারে সঠিকভাবে অনূদিত হচ্ছে।
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” হিসেবে অনুবাদ হতে পারে।