
PolyLingo বনাম Polylang: পার্থক্য কী এবং কখন কোনটি ব্যবহার করবেন
By Robert M
PolyLingo বনাম Polylang: পার্থক্য কী এবং কখন কোনটি ব্যবহার করবেন
আপনি যদি এখানে পৌঁছেছেন, তাহলে সম্ভবত আপনি দুইটি পরিস্থিতির একটিতে আছেন: আপনি ওয়ার্ডপ্রেসের ভিতরে Polylang নিয়ে সন্তুষ্ট কিন্তু ভাবছেন ওয়ার্ডপ্রেস নয় এমন একটি প্রকল্পের জন্য এর সমতুল্য কিছু আছে কিনা, অথবা আপনি সম্পূর্ণরূপে ওয়ার্ডপ্রেস থেকে সরে যাচ্ছেন এবং আপনার বহুভাষিক সেটআপের কী হবে তা বুঝতে চেষ্টা করছেন।
এই পোস্টটি উভয় প্রশ্নের সরাসরি উত্তর দেয়। আমরা আলোচনা করব প্রতিটি টুল আসলে কী করে, কোথায় প্রতিটি ফিট করে, এবং কীভাবে তাদের মধ্যে নির্বাচন করবেন।
Polylang কী (এবং কী নয়)
Polylang একটি ওয়ার্ডপ্রেস প্লাগইন। এটি ওয়ার্ডপ্রেস ইকোসিস্টেমের অন্যতম সেরা বহুভাষিক প্লাগইন। এটি ভাষা সুইচার পরিচালনা করে, আপনাকে পোস্ট এবং পৃষ্ঠাগুলির অনূদিত সংস্করণ তৈরি করতে দেয়, hreflang ট্যাগগুলি পরিচালনা করে, এবং ওয়ার্ডপ্রেস ব্লক এডিটরের সাথে পরিষ্কারভাবে ইন্টিগ্রেট করে। আপনি যদি একটি ওয়ার্ডপ্রেস সাইট চালান, এটি একটি গুরুতর, ভাল রক্ষণাবেক্ষিত টুল এবং এর কোটি কোটি সক্রিয় ইনস্টল থাকার একটি ভাল কারণ আছে।
সীমাবদ্ধতা বর্ণনায় স্পষ্ট: এটি একটি ওয়ার্ডপ্রেস প্লাগইন। এর কোনো API নেই যা আপনি ওয়ার্ডপ্রেসের বাইরে থেকে কল করতে পারেন। এর কোনো JSON লোকেল ফাইল, Markdown কন্টেন্ট ফাইল, বা Next.js প্রকল্পে থাকা HTML টেমপ্লেটের ধারণা নেই। এর পুরো মডেল ধরে নেয় কন্টেন্ট ওয়ার্ডপ্রেস ডাটাবেসে থাকে এবং ওয়ার্ডপ্রেস দ্বারা রেন্ডার করা হয়।
এটি কোনো সমালোচনা নয়। এটি শুধু টুলটির পরিধি।
PolyLingo কী
PolyLingo একটি অনুবাদ API। আপনি এতে কন্টেন্ট পাঠান (সাধারণ টেক্সট, Markdown, JSON, বা HTML) এবং এটি আপনাকে প্রতিটি ভাষায় অনূদিত সংস্করণ ফিরিয়ে দেয়, একক অনুরোধে। এটি আপনার CMS, ফ্রেমওয়ার্ক, বা ডিপ্লয়মেন্ট সেটআপ সম্পর্কে কোনো মতামত রাখে না। এটি যেখানে আপনি HTTP অনুরোধ করতে পারেন সেখানে কাজ করে।
মূল ডিজাইন লক্ষ্য হল ফরম্যাট সংরক্ষণ। বেশিরভাগ অনুবাদ API বাক্যের উপর ভিত্তি করে তৈরি: আপনি একটি স্ট্রিং পাঠান, একটি স্ট্রিং ফিরে পান। যখন আপনার কন্টেন্টের গঠন থাকে তখন সেই মডেল দ্রুত ভেঙে যায়। একটি JSON লোকেল ফাইল একটি সাধারণ অনুবাদ সেবায় পেস্ট করুন এবং আপনি পাবেন অনূদিত কী নাম, করাপ্টেড ডিলিমিটার, বা যেখানে একটি অবজেক্ট ছিল সেখানে গদ্য। PolyLingo গঠনকে অফ-লিমিট হিসেবে বিবেচনা করে। শুধুমাত্র স্ট্রিং মান পরিবর্তিত হয়; বাকিটা ঠিক যেমন পাঠানো হয় ফিরে আসে।
একটি স্পষ্ট উদাহরণ। আপনি এটি পাঠান:
{"btn": {"save": "Save", "cancel": "Cancel"}}
একটি বাক্য-কেন্দ্রিক অনুবাদক আপনাকে দিতে পারে:
{"button": {"save": "Guardar", "cancel": "Cancelar"}}
কী btn হয়ে গেছে button। এটি আপনার অ্যাপ্লিকেশন ভেঙে দেবে। PolyLingo আপনাকে দেয়:
{"btn": {"save": "Guardar", "cancel": "Cancelar"}}
কী অপরিবর্তিত। শুধুমাত্র মান অনূদিত।
একই নীতি Markdown (শিরোনাম শিরোনাম থাকে, কোড ব্লক অপরিবর্তিত থাকে, লিঙ্ক URL পরিবর্তিত হয় না) এবং HTML (ট্যাগ এবং অ্যাট্রিবিউট সংরক্ষিত থাকে, শুধুমাত্র টেক্সট নোড এবং উপযুক্ত অ্যাট্রিবিউট অনূদিত হয়) প্রযোজ্য।
প্রকৃত পার্থক্য: পরিধি
সবচেয়ে সহজভাবে বললে:
Polylang ওয়ার্ডপ্রেসের ভিতরে বহুভাষিক কন্টেন্ট পরিচালনা করে। এটি একটি CMS স্তর। এটি পরিচালনা করে কোন পোস্ট কোন ইংরেজি পোস্টের স্প্যানিশ সংস্করণ, এটি ভাষা সুইচার তৈরি করে, এবং আপনি যখন কন্টেন্ট আপডেট করেন তখন অনুবাদগুলি সিঙ্ক রাখে।
PolyLingo একটি API এর মাধ্যমে গঠিত কন্টেন্ট অনুবাদ করে। এটি একটি অনুবাদ স্তর। আপনি এতে কন্টেন্ট দেন, এটি অনুবাদ ফেরত দেয়। আপনি সেই অনুবাদ দিয়ে যা করবেন তা আপনার উপর নির্ভর করে।
তারা পার্শ্ববর্তী সমস্যা সমাধান করে, একই সমস্যা নয়। এজন্য তুলনাটি আসলে "কোনটি ভাল" নয় বরং "আমার সমস্যা কী।"
কখন Polylang ব্যবহার করবেন
- আপনার সাইট ওয়ার্ডপ্রেসে চলে এবং আপনি ওয়ার্ডপ্রেসেই থাকতে চান
- আপনি একটি কন্টেন্ট ম্যানেজমেন্ট ওয়ার্কফ্লো চান: সম্পাদকরা ভাষার সংস্করণের মধ্যে স্যুইচ করতে পারে, অনুবাদের অবস্থা ট্র্যাক করতে পারে, থিমে ভাষা সুইচার থাকে
- আপনি ডেভেলপার নন এবং UI-চালিত সমাধান চান
- আপনি WooCommerce ব্যবহার করছেন এবং পণ্য অনুবাদ ওয়ার্ডপ্রেসের ভিতরে পরিচালনা করতে চান
Polylang এই সব ক্ষেত্রে চমৎকার। যদি ওয়ার্ডপ্রেস আপনার স্ট্যাক হয়, এটি সঠিক টুল।
কখন PolyLingo ব্যবহার করবেন
- আপনি Next.js, Nuxt, SvelteKit, Astro, বা অন্য কোনো নন-ওয়ার্ডপ্রেস ফ্রেমওয়ার্কে নির্মাণ করছেন
- আপনি একটি হেডলেস CMS (Contentful, Sanity, Prismic) ব্যবহার করছেন এবং প্রকাশের সময় বা ওয়েবহুকের মাধ্যমে কন্টেন্ট অনুবাদ করতে চান
- আপনার কন্টেন্ট JSON লোকেল ফাইলে থাকে যা কী গঠন নষ্ট না করে অনুবাদ করতে হবে
- আপনি ওয়ার্ডপ্রেস থেকে সরে যাচ্ছেন এবং আপনার বহুভাষিক ওয়ার্কফ্লো বহন করতে চান
- আপনার Markdown কন্টেন্ট (ব্লগ পোস্ট, ডকুমেন্টেশন, পণ্য বর্ণনা) আছে এবং এমন অনূদিত সংস্করণ দরকার যা ফরম্যাটিং ভাঙে না
- আপনি একক API কল-এ একাধিক ভাষায় অনুবাদ করতে চান, প্রতি ভাষায় আলাদা কল না করে
PolyLingo এর /translate এন্ডপয়েন্ট একটি targets অ্যারে গ্রহণ করে, তাই একটি অনুরোধে একবারে সব ৩৬টি সমর্থিত ভাষা ফেরত দিতে পারে। দশটি ভাষায় একটি লোকেল ফাইল পাঠানোর জন্য, এটি দশটি API কলের পরিবর্তে একটি।
ওয়ার্ডপ্রেস থেকে মাইগ্রেশনের ব্যাপারে কী?
আপনি যদি একটি ওয়ার্ডপ্রেস সাইট হেডলেস বা স্ট্যাটিক সেটআপে স্থানান্তর করছেন, আপনার Polylang কন্টেন্ট স্বয়ংক্রিয়ভাবে আসে না। অনুবাদগুলি ওয়ার্ডপ্রেস পোস্ট মেটাডেটা হিসেবে সংরক্ষিত থাকে এবং Markdown ফাইল বা JSON স্ট্রাকচারে পরিষ্কারভাবে রপ্তানি হয় না।
অধিকাংশ দল যে ব্যবহারিক পথ অনুসরণ করে:
- আপনার ওয়ার্ডপ্রেস কন্টেন্ট Markdown বা JSON এ রপ্তানি করুন (
wordpress-export-to-markdownএর মতো টুলগুলি যান্ত্রিক অংশটি পরিচালনা করে) - PolyLingo ব্যবহার করে রপ্তানি করা কন্টেন্ট আপনার লক্ষ্য ভাষায় অনুবাদ করুন
- নতুন কন্টেন্ট স্ট্রাকচারের পাশে উৎস ভাষার সাথে ফলাফল ফাইলগুলি সংরক্ষণ করুন
PolyLingo এর ব্যাচ এন্ডপয়েন্ট (POST /translate/batch) ঠিক এর জন্য তৈরি। আপনি একক অনুরোধে ১০০টি কন্টেন্ট আইটেম পাঠাতে পারেন, প্রতিটির নিজস্ব ফরম্যাট সহ, একই লক্ষ্য ভাষার সেট শেয়ার করে। শত শত পৃষ্ঠার সাইট মাইগ্রেশনের জন্য এটি সঠিক টুল।
পাশাপাশি সারাংশ
| PolyLingo | Polylang | |
|---|---|---|
| ওয়ার্ডপ্রেস ছাড়া কাজ করে | হ্যাঁ | না |
| ফরম্যাট সংরক্ষণ (JSON, Markdown, HTML) | হ্যাঁ | শুধুমাত্র ওয়ার্ডপ্রেস কন্টেন্ট |
| এক অনুরোধে সব ভাষা | হ্যাঁ | না |
| REST API অ্যাক্সেস | হ্যাঁ | না |
| কন্টেন্ট ম্যানেজমেন্ট UI | অনুবাদক UI (কোড ছাড়া) | পূর্ণ ওয়ার্ডপ্রেস অ্যাডমিন |
| স্বয়ংক্রিয়ভাবে কন্টেন্ট ফরম্যাট সনাক্ত করে | হ্যাঁ | প্রযোজ্য নয় |
| RTL ভাষার সমর্থন | হ্যাঁ | হ্যাঁ |
| ব্যবহার-ভিত্তিক বিলিং | হ্যাঁ | ফ্রি প্লাগইন / Polylang Pro ফ্ল্যাট ফি |
সংক্ষিপ্ত সংস্করণ
আপনি যদি ওয়ার্ডপ্রেসে থাকেন এবং ওয়ার্ডপ্রেসেই থাকবেন: Polylang ব্যবহার করুন। এটি সেই পরিবেশের জন্য তৈরি এবং এতে ভাল।
আপনি যদি ওয়ার্ডপ্রেসের বাইরে থাকেন, ওয়ার্ডপ্রেস থেকে বেরিয়ে যাচ্ছেন, বা এমন কিছু তৈরি করছেন যা ওয়ার্ডপ্রেস নয়: PolyLingo আপনাকে একই গঠিত বহুভাষিক ওয়ার্কফ্লো API এর মাধ্যমে দেয় যা আপনি যা কিছু তৈরি করছেন তার সাথে কাজ করে।
এই দুইটি টুল একসাথে coexist করতে পারে। কিছু দল তাদের প্রধান মার্কেটিং সাইটে Polylang চালায় (যা ওয়ার্ডপ্রেসেই থাকে) এবং তাদের ডকস সাইট, ওয়েব অ্যাপ UI স্ট্রিংস, বা ইমেইল টেমপ্লেটের জন্য PolyLingo ব্যবহার করে। ওয়ার্কফ্লো একই; স্ট্যাক অবশ্যই নয়।
চেষ্টা করুন
PolyLingo এর ফ্রি টিয়ার প্রতি মাসে ১০০,০০০ টোকেন অন্তর্ভুক্ত করে। এটি দশটি ভাষায় কয়েকটি ব্লগ পোস্টের জন্য যথেষ্ট, অথবা ৩৬টি ভাষায় একটি মাঝারি আকারের লোকেল ফাইলের জন্য। কোনো ক্রেডিট কার্ডের প্রয়োজন নেই।
curl -sS -X POST "https://api.usepolylingo.com/v1/translate" \
-H "Authorization: Bearer $POLYLINGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "# Welcome\n\nTranslate **any format** without breaking the structure.",
"format": "markdown",
"targets": ["es", "fr", "de", "ja"]
}'