Grav CMS একাধিক ভাষায় সাইট পরিচালনা করার জন্য শক্তিশালী multilingual সমর্থন প্রদান করে। এটি সহজে বিভিন্ন ভাষায় কনটেন্ট তৈরি এবং ম্যানেজ করতে সক্ষম, যাতে ব্যবহারকারীরা তাদের পছন্দের ভাষায় সাইটটি দেখতে পারেন। Grav এর multilingual ফিচারটি সাইটের কনটেন্ট এবং ইউজার ইন্টারফেস (UI) ভাষায় স্যুইচ করার সুবিধা দেয়, যা গ্রাহক বা দর্শকদের জন্য আরও ভাল অভিজ্ঞতা তৈরি করে।
এই গাইডে Grav এ multilingual সাইট সেটআপ করার প্রক্রিয়া ব্যাখ্যা করা হবে।
Grav এ Multilingual সাইটের জন্য প্রাথমিক কনফিগারেশন
Grav এ multilingual সাইট সেটআপ করার জন্য, আপনাকে কিছু কনফিগারেশন ফাইল এবং ফোল্ডার স্ট্রাকচার তৈরি করতে হবে। এর মাধ্যমে আপনি একাধিক ভাষায় কনটেন্ট প্রদান করতে পারবেন।
১. system.yaml কনফিগারেশন ফাইলে ভাষা সক্রিয় করা
প্রথমে, আপনাকে Grav এর সিস্টেম কনফিগারেশন ফাইলে (এটি user/config/system.yaml এ থাকে) ভাষা সেটআপ করতে হবে। নিচে একটি উদাহরণ দেওয়া হলো:
languages:
supported:
- en
- fr
- de
default_lang: en
translations:
enabled: true
uri_default_lang: false
session_store_active: true
এখানে:
- supported: এটি একটি অ্যারে যা সাইটের সমর্থিত ভাষাগুলি নির্ধারণ করে (যেমন, ইংরেজি
en, ফরাসিfr, জার্মানde)। - default_lang: এখানে ডিফল্ট ভাষা নির্ধারণ করা হয়েছে (এখানে
enইংরেজি)। - translations.enabled: এটি ভাষা অনুবাদ সক্ষম করবে।
- uri_default_lang: যদি আপনি চান যে URL এ ডিফল্ট ভাষা থাকে না, তবে এটি
falseকরতে হবে। - session_store_active: এটি সক্রিয় করলে ব্যবহারকারীর ভাষার নির্বাচন সেশন স্টোরে সংরক্ষিত থাকবে।
২. পেজ ফোল্ডার স্ট্রাকচার
Grav এ multilingual কনটেন্ট তৈরি করতে হলে, আপনাকে user/pages/ ফোল্ডারের মধ্যে প্রতিটি ভাষার জন্য আলাদা ফোল্ডার তৈরি করতে হবে। উদাহরণস্বরূপ:
/user/pages/
/01.home/
en.md
fr.md
de.md
এখানে:
/01.home/: এই ফোল্ডারটি আপনার হোমপেজের কনটেন্ট ধারণ করবে।en.md: ইংরেজি ভাষার জন্য পেজ ফাইল।fr.md: ফরাসি ভাষার জন্য পেজ ফাইল।de.md: জার্মান ভাষার জন্য পেজ ফাইল।
প্রতিটি পেজের জন্য আলাদা আলাদা ভাষার .md ফাইল থাকবে, এবং প্রতিটি .md ফাইলে একই কনটেন্ট থাকবে তবে ভাষা অনুসারে আলাদা লেখা থাকবে।
৩. ভাষা নির্ধারণের জন্য পেজ কনফিগারেশন
প্রতিটি .md পেজ ফাইলে ভাষা নির্ধারণ করতে হবে। উদাহরণস্বরূপ:
en.md (ইংরেজি ভাষার জন্য):
title: "Welcome"
content: "Welcome to our website!"
language: en
fr.md (ফরাসি ভাষার জন্য):
title: "Bienvenue"
content: "Bienvenue sur notre site web!"
language: fr
এখানে language: en এবং language: fr নির্ধারণ করে যে কোন ভাষায় কনটেন্ট থাকবে।
Grav এ Multilingual সাইটের জন্য ইউজার ইন্টারফেস (UI) কনফিগারেশন
Grav-এ multilingual সাইটের জন্য ইউজার ইন্টারফেস (UI) ভাষা ব্যবস্থাপনা কনফিগার করার জন্য, আপনাকে টেমপ্লেট ফাইলের মধ্যে ভাষা পরিবর্তনের লিঙ্ক যুক্ত করতে হবে।
১. ভাষা সুইচার (Language Switcher)
Grav-এ ভাষা পরিবর্তনের জন্য একটি ভাষা সুইচার তৈরি করা যেতে পারে। আপনার টেমপ্লেট ফাইলের (যেমন base.html.twig) মধ্যে ভাষা সুইচারের কোড যুক্ত করুন:
{% for lang in grav.languages %}
<a href="{{ url|lang(lang) }}">{{ lang }}</a>
{% endfor %}
এটি সাইটে ভাষার লিঙ্কগুলো দেখাবে এবং ব্যবহারকারীরা যে ভাষা চান সে ভাষায় সাইটটি দেখতে পারবেন।
২. ভাষার কনফিগারেশন টেমপ্লেট ফাইলে
Grav এর টেমপ্লেট ফাইলে lang ফিল্টার ব্যবহার করে আপনি কনটেন্টের ভাষা পরিবর্তন করতে পারবেন। উদাহরণস্বরূপ, {{ page.content|lang('en') }} ব্যবহার করে আপনি পেজের কনটেন্টের ভাষা পরিবর্তন করতে পারেন।
Grav-এ Multilingual সাইটের জন্য কনটেন্ট অনুবাদ
Grav একাধিক ভাষায় কনটেন্ট তৈরি করার জন্য translations ফিচার সমর্থন করে, তবে আপনাকে প্রতিটি ভাষার জন্য আলাদা পেজ ফাইল তৈরি করতে হবে।
১. ভাষার জন্য অনুবাদ যুক্ত করা
যেমন, যদি আপনার সাইটে "About Us" পেজ থাকে, তবে আপনি en.md (ইংরেজি) এবং fr.md (ফরাসি) দুটি আলাদা .md ফাইল তৈরি করবেন এবং কনটেন্ট অনুবাদ করবেন।
en.md:
title: "About Us"
content: "We are a company that specializes in Grav CMS solutions."
language: en
fr.md:
title: "À propos de nous"
content: "Nous sommes une entreprise spécialisée dans les solutions Grav CMS."
language: fr
এইভাবে আপনি সাইটের প্রতিটি পেজের জন্য আলাদা আলাদা ভাষায় কনটেন্ট তৈরি করতে পারেন।
Grav এর Multilingual সাইটে SEO এবং ইউআরএল কনফিগারেশন
গ্র্যাভের multilingual সাইটে SEO উন্নত করার জন্য, প্রতিটি ভাষার জন্য আলাদা URL ব্যবহার করা উচিত। Grav স্বয়ংক্রিয়ভাবে ভাষা নির্ধারণের জন্য একটি সাবডিরেক্টরি পদ্ধতি ব্যবহার করে, যেমন:
/en/— ইংরেজি পেজ।/fr/— ফরাসি পেজ।/de/— জার্মান পেজ।
এছাড়া, সাইটের base_url কনফিগারেশন ফাইলে ভাষার ভিত্তিতে URL কনফিগারেশন সেট করা যেতে পারে:
base_url: 'https://example.com'
base_url_relative: true
এটি সাইটের URL স্ট্রাকচারকে সঠিকভাবে কনফিগার করবে।
সারাংশ
Grav এ multilingual সাইট সেটআপ করা সহজ এবং নমনীয়। আপনি languages ফিচার ব্যবহার করে বিভিন্ন ভাষা সক্রিয় করতে পারেন, এবং প্রতিটি ভাষার জন্য আলাদা পেজ ফাইল তৈরি করে কনটেন্ট অনুবাদ করতে পারেন। Grav এ taxonomy এবং translations এর মাধ্যমে আপনি একাধিক ভাষায় সাইটের কনটেন্ট সহজে পরিচালনা করতে পারবেন। ভাষা সুইচারের মাধ্যমে ব্যবহারকারীরা তাদের পছন্দসই ভাষায় সাইট দেখতে সক্ষম হবে, এবং SEO কনফিগারেশনটি সাইটের পারফরম্যান্স এবং র্যাংকিং বাড়াতে সাহায্য করবে।
Read more