উন্নত ব্যবহার
ডান-থেকে-বাম ভাষা পরিচালনা
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” অনুবাদ হতে পারে।