আন্তর্জাতিকীকরণ
আপনার অ্যাপে বহুভাষিক সমর্থন যোগ করুন। সম্পাদকীয় লোকালাইজেশনের জন্য Proyecta Content API ব্যবহার করুন, অথবা AI-কে সরাসরি কোডে একটি i18n framework সেটআপ করতে বলুন।
Proyecta-তে তৈরি অ্যাপগুলো আন্তর্জাতিকীকরণের জন্য দুটি পরিপূরক পদ্ধতি সমর্থন করে:
- Proyecta Content API-এর মাধ্যমে কন্টেন্ট লোকালাইজেশন — সম্পাদকীয় কন্টেন্টের জন্য (ব্লগ পোস্ট, FAQ, মার্কেটিং কপি) যেগুলো একাধিক ভাষায় অনুবাদ করতে হবে
- একটি translation framework-এর মাধ্যমে কোড-স্তরের i18n — UI স্ট্রিং, তারিখ, মুদ্রা এবং runtime লোকেল পরিবর্তনের জন্য
দুটোই এখনই ব্যবহার করা যাচ্ছে। আপনি কোনটি ব্যবহার করবেন তা নির্ভর করে আপনি কী অনুবাদ করছেন তার উপর।
Proyecta builder নিজেই ২৪টি লোকেলসহ আসে, তাই পণ্যটি i18n-এ দক্ষ। একই প্যাটার্নগুলো আপনি এর ভেতরে তৈরি করা অ্যাপগুলোতেও প্রযোজ্য।
বিকল্প ১: কন্টেন্ট লোকালাইজেশন (Proyecta Content API)
Section titled “বিকল্প ১: কন্টেন্ট লোকালাইজেশন (Proyecta Content API)”আপনি যদি কন্টেন্ট-ভারী সাইট তৈরি করছেন — ব্লগ, নলেজ বেস, মার্কেটিং পেজ, প্রোডাক্ট ক্যাটালগ — তাহলে Content API-এর বিল্ট-ইন লোকেল সমর্থন ব্যবহার করুন।
// Create the locales you supportawait proyecta.content.locales.create({ /* code: 'en', name: 'English' */});await proyecta.content.locales.create({ /* code: 'es', name: 'Español' */});await proyecta.content.locales.create({ /* code: 'fr', name: 'Français' */});
// Then create entries that exist in multiple locales — fetch the right// translation per request based on the user's locale.এটি সঠিক সমাধান যখন:
- যে এডিটররা কোড লেখেন না তাদের কন্টেন্ট অনুবাদ করতে হবে
- আপনি চান অনুবাদগুলো versionable হোক
- আপনার লোকেল-নির্দিষ্ট পাবলিশিং দরকার (শিডিউলড পাবলিশিং শীঘ্রই আসছে — এন্ট্রিগুলো বর্তমানে API-এর মাধ্যমে ম্যানুয়াল publish করতে হয়)
সম্পূর্ণ Content API-এর জন্য কন্টেন্ট ম্যানেজমেন্ট দেখুন।
বিকল্প ২: কোড-স্তরের i18n framework
Section titled “বিকল্প ২: কোড-স্তরের i18n framework”UI স্ট্রিংয়ের জন্য — লেবেল, বাটন, এরর মেসেজ, তারিখ, মুদ্রা — AI-কে সরাসরি আপনার প্রজেক্টে একটি i18n framework সেটআপ করতে বলুন:
Add internationalization to my app.Support English, Spanish, French, and Arabic.Add message catalogs in src/locales/.Add a language switcher in the header.Use locale-prefixed URLs like /en/about and /es/about.Make sure RTL layout works correctly for Arabic.AI যা করবে:
- একটি framework বেছে নেবে — AI
i18nextব্যবহার করেreact-i18next-এর সাথে (Proyecta-এর স্ট্যান্ডার্ড) src/locales/-এ catalog ফাইল তৈরি করবে (প্রতিটি ভাষার জন্য একটি JSON)- টেক্সটকে
t()কলে মুড়িয়ে দেবে (react-i18next-এরuseTranslationhook থেকে) - একটি language switcher কম্পোনেন্ট যোগ করবে
- লোকেল prefix-সহ URL routing সেটআপ করবে
- RTL লেআউট হ্যান্ডেল করবে (আরবি, হিব্রু ইত্যাদির জন্য
dir="rtl") - লোকেল অনুযায়ী সংখ্যা, তারিখ এবং মুদ্রা ফরম্যাট করবে
AI দিয়ে স্বয়ংক্রিয় অনুবাদ
Section titled “AI দিয়ে স্বয়ংক্রিয় অনুবাদ”আপনার বেস ভাষা প্রস্তুত হয়ে গেলে, AI অন্যান্য catalog ফাইল তৈরিতে দারুণ কাজ করে:
"Translate every string in src/locales/en.json into Spanish, French, German, and Japanese. Use natural, idiomatic phrasing — don't translate brand names.""My app is fully built in English. Add Spanish translations for everything and an es/ route prefix."
উচ্চ-ঝুঁকির কন্টেন্টের জন্য (আইনি কপি, মেডিকেল, ফিনান্স), শিপ করার আগে একজন মানব অনুবাদককে দিয়ে AI আউটপুট রিভিউ করিয়ে নিন।
দুটি পদ্ধতি একসাথে ব্যবহার
Section titled “দুটি পদ্ধতি একসাথে ব্যবহার”বেশিরভাগ বাস্তব অ্যাপ দুটোই ব্যবহার করে: UI chrome-এর জন্য (বাটন, এরর, নেভিগেশন) কোড-স্তরের i18n, এবং সম্পাদকীয় কন্টেন্টের জন্য (আর্টিকেল, প্রোডাক্ট বিবরণ) Content API। এরা পরিষ্কারভাবে সহাবস্থান করে — আপনার i18n framework build সময়ে catalog ফাইলগুলো হ্যান্ডেল করে, Content API runtime-এ লোকালাইজড এন্ট্রি সরবরাহ করে।
সেরা অভ্যাস
Section titled “সেরা অভ্যাস”- আগে আপনার বেস ভাষা বেছে নিন এবং কপি চূড়ান্ত করুন। পরিবর্তনশীল টার্গেট অনুবাদ করা কষ্টকর।
- অনুবাদ ব্যাচে করুন। চলতে চলতে অনুবাদ করবেন না — কোনো ফিচার স্থিতিশীল হওয়া পর্যন্ত অপেক্ষা করুন।
- RTL আগেভাগেই পরীক্ষা করুন যদি আপনি আরবি বা হিব্রু সমর্থন করেন। RTL বাগ লুকিয়ে থাকে যতক্ষণ না আপনি সত্যিই দেখছেন।
<html>-এlangএবংdirঅন্তর্ভুক্ত করুন। ব্রাউজার এবং স্ক্রিন রিডার এটার উপর নির্ভর করে।- ফরম্যাটিংয়ের জন্য
Intlব্যবহার করুন। নিজে হাতে তারিখ বা মুদ্রা ফরম্যাট করবেন না —Intl.DateTimeFormat,Intl.NumberFormatব্যবহার করুন।
শীঘ্রই আসছে
Section titled “শীঘ্রই আসছে”- In-builder লোকেল ম্যানেজমেন্ট UI — লোকেল বেছে নিন, অনুবাদ কভারেজ দেখুন, Proyecta ছাড়া না গিয়েই catalog এডিট করুন
- নতুন স্ট্রিংয়ের জন্য সেভ-করার-সাথে-সাথে অটো-ট্রান্সলেট
- i18n-রেডি প্রজেক্ট টেমপ্লেট যেখানে framework আগে থেকেই সেটআপ করা থাকবে