উন্নত ব্যবহার
ডান-থেকে-বাম ভাষাগুলি পরিচালনা
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)}}
/>
);
}একাধিক ভাষা
একই অ্যাপ্লিকেশনে একাধিক ভাষা একসাথে সমর্থন করার জন্য, আপনি নিচে দেখানো অনুযায়ী ভিন্ন locale মান সহ একাধিক TacoTranslate প্রদানকারী ব্যবহার করতে পারেন:
আপনি এছাড়াও 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” হিসেবে অনুবাদ হতে পারে।