Skill

Grav এবং Multilingual সাপোর্ট

গ্র্যাভ (Grav) - Web Development

307

Grav CMS (Content Management System) একটি ফাইল-ভিত্তিক সিস্টেম যা হালকা ও দ্রুত। Grav বিশেষভাবে সিম্পল এবং কাস্টমাইজেবল হওয়ায় বিভিন্ন ফিচার এবং প্লাগইন যোগ করা সহজ। এর মধ্যে একটি গুরুত্বপূর্ণ ফিচার হল Multilingual Support (বহুভাষিক সাপোর্ট), যা সাইটের বিভিন্ন ভাষার কনটেন্ট তৈরি এবং পরিচালনা করতে সহায়তা করে।

এই গাইডে, আমরা আলোচনা করব Grav CMS এ Multilingual সাপোর্ট কীভাবে কাজ করে, কীভাবে এটি কনফিগার করবেন এবং কীভাবে বহুভাষিক সাইট তৈরি করবেন।


Grav CMS এবং Multilingual সাপোর্ট

Grav CMS-এ Multilingual সাপোর্ট এর মাধ্যমে আপনি একটি সাইটে একাধিক ভাষায় কনটেন্ট প্রদর্শন করতে পারবেন। Grav এর বিল্ট-ইন ফিচারগুলো এবং কিছু কাস্টম প্লাগইন ব্যবহার করে এটি সহজেই ইমপ্লিমেন্ট করা যায়।

Grav CMS-এ বহুভাষিক কনটেন্ট তৈরি করতে languages.yaml কনফিগারেশন ফাইল এবং translations ফিচারের মাধ্যমে আপনি সাইটে একাধিক ভাষার কনটেন্ট পরিচালনা করতে পারেন।


Grav CMS এ Multilingual কনফিগারেশন

Grav CMS-এ একটি বহুভাষিক সাইট তৈরি করতে, আপনাকে কিছু মৌলিক কনফিগারেশন করতে হবে। এখানে ধাপে ধাপে দেখানো হচ্ছে কীভাবে Grav সাইটে Multilingual সাপোর্ট কনফিগার করবেন:

১. Multilingual সাপোর্ট প্লাগইন ইনস্টল করা

Grav-এ বহুভাষিক সাপোর্ট ব্যবহারের জন্য প্রথমে "Languages" প্লাগইন ইনস্টল করতে হবে। এটি Grav সাইটে একাধিক ভাষার কনটেন্ট এবং কনফিগারেশন ম্যানেজ করতে সাহায্য করে।

কিভাবে প্লাগইন ইনস্টল করবেন:

composer require getgrav/plugin-languages

এটি ইনস্টল হলে, প্লাগইনটি স্বয়ংক্রিয়ভাবে সাইটে যোগ হবে এবং বহুভাষিক কনটেন্ট ব্যবস্থাপনার জন্য প্রস্তুত হবে।

২. languages.yaml কনফিগারেশন ফাইল কনফিগার করা

Grav সাইটে বহুভাষিক কনটেন্ট পরিচালনা করতে, আপনাকে languages.yaml কনফিগারেশন ফাইলের মাধ্যমে ভাষা সেটিংস কনফিগার করতে হবে।

user/config/languages.yaml ফাইলের উদাহরণ:

enabled:
  - en
  - fr
  - de
  - es
translations: true
default_lang: en

এখানে:

  • enabled: আপনি যেসব ভাষা সাইটে ব্যবহার করতে চান, সেগুলি তালিকাভুক্ত করবেন (যেমন en, fr, de, es)।
  • default_lang: সাইটের ডিফল্ট ভাষা নির্ধারণ করুন (এখানে en অর্থাৎ ইংরেজি ভাষা ডিফল্ট হিসেবে সেট করা হয়েছে)।
  • translations: এই সেটিংটি ভাষাগত অনুবাদ সক্ষম করে, যাতে সাইটের প্রতিটি পেজ বা কনটেন্ট একাধিক ভাষায় প্রদর্শন করা যায়।

৩. পেজ কনটেন্টের জন্য ভাষা নির্ধারণ

প্রতিটি পেজের জন্য একটি নির্দিষ্ট ভাষা নির্ধারণ করতে হবে। Grav-এ, আপনি পেজের .md ফাইলের মাধ্যমে ভাষা নির্ধারণ করতে পারেন।

এখানে একটি কনটেন্ট পেজের উদাহরণ দেওয়া হলো:

title: "Welcome"
lang: en
---

This is a welcome page in English.

এখানে:

  • lang: en: পেজটি ইংরেজি ভাষায় লেখা হয়েছে।

একই পেজটির ফরাসি সংস্করণ তৈরি করতে হলে, আপনাকে lang: fr দিয়ে অন্য একটি পেজ তৈরি করতে হবে।

fr ভাষার সংস্করণের উদাহরণ:

title: "Bienvenue"
lang: fr
---

Ceci est une page de bienvenue en français.

এটি ফরাসি ভাষায় পেজের কনটেন্ট তৈরি করবে।

৪. পেজের মধ্যে ভাষা সুইচার ব্যবহার করা

Grav CMS-এর ভাষা সুইচারের মাধ্যমে ব্যবহারকারীরা এক ভাষা থেকে অন্য ভাষায় সাইটের কনটেন্ট পরিবর্তন করতে পারেন। এটি সাধারণত একটি নেভিগেশন মেনু বা ড্রপডাউন মেনু হিসেবে প্রদর্শিত হয়।

Twig টেমপ্লেটে ভাষা সুইচার ব্যবহার:

{% for lang in config.languages.enabled %}
  <a href="{{ url.lang(lang) }}">{{ lang }}</a>
{% endfor %}

এটি আপনার সাইটে উপলব্ধ সমস্ত ভাষার জন্য একটি সুইচার তৈরি করবে, যেখানে ব্যবহারকারীরা তাদের পছন্দসই ভাষায় সাইটের কনটেন্ট দেখতে পারবেন।


Grav CMS-এ Multilingual সাইট তৈরির সুবিধাসমূহ

১. গ্লোবাল অডিয়েন্স রিচিং

Grav CMS-এ Multilingual সাপোর্ট ব্যবহার করে আপনি বিশ্বের বিভিন্ন ভাষাভাষী মানুষের কাছে পৌঁছাতে পারবেন। এটি আপনার সাইটের গ্লোবাল উপস্থিতি বৃদ্ধি করতে সহায়ক।

২. সহজ কনফিগারেশন

Grav CMS-এ Multilingual সাইট কনফিগারেশন সহজ এবং সরল। আপনি languages.yaml ফাইলে ভাষাগুলি নির্ধারণ করলেই সাইটের কনটেন্ট একাধিক ভাষায় প্রকাশ করা যায়।

৩. স্বয়ংক্রিয় ভাষা সুইচিং

Grav স্বয়ংক্রিয়ভাবে ইউজারের ব্রাউজার সেটিংস অনুযায়ী ভাষা সুইচিং করতে সক্ষম। এর ফলে ব্যবহারকারীরা তাদের পছন্দের ভাষায় সাইট দেখতে পারবেন।

৪. ভাষার কনটেন্ট পরিচালনা

Grav-এ প্রতিটি পেজের জন্য আলাদা ভাষার কনটেন্ট তৈরি করা সম্ভব, এবং একাধিক ভাষায় কনটেন্ট প্রকাশের মাধ্যমে আপনি আপনার সাইটের বিভিন্ন সংস্করণ কাস্টমাইজ করতে পারেন।


সারাংশ

Grav CMS-এ Multilingual Support ব্যবহারের মাধ্যমে আপনি আপনার সাইটের কনটেন্ট একাধিক ভাষায় তৈরি এবং প্রদর্শন করতে পারেন। Grav এর languages.yaml কনফিগারেশন ফাইল, Twig টেমপ্লেট এবং language switcher ফিচার ব্যবহার করে আপনি সহজে বহুভাষিক সাইট তৈরি করতে পারবেন। Grav এর এই সাপোর্ট ফিচারটি সাইটের গ্লোবাল অডিয়েন্স বৃদ্ধি করতে এবং ব্যবহারকারীদের জন্য একটি আরও ব্যক্তিগতকৃত অভিজ্ঞতা তৈরি করতে সহায়ক।

Content added By

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 কনফিগারেশনটি সাইটের পারফরম্যান্স এবং র‍্যাংকিং বাড়াতে সাহায্য করবে।

Content added By

Grav CMS এর একটি শক্তিশালী বৈশিষ্ট্য হল ভাষা ভিত্তিক পেজ তৈরি এবং পরিচালনা। এই বৈশিষ্ট্যটির মাধ্যমে আপনি একাধিক ভাষায় কনটেন্ট তৈরি করতে পারেন এবং আপনার সাইটকে বিভিন্ন ভাষায় প্রকাশ করতে পারেন। Grav এর এই মাল্টি-ল্যাঙ্গুয়েজ সিস্টেমটি বিভিন্ন পেজের ভাষাগত ভার্সনগুলিকে সমন্বয় করে একটি আন্তর্জাতিক সাইট তৈরি করতে সহায়ক।

এই গাইডে, আমরা ভাষা ভিত্তিক পেজ তৈরি এবং পরিচালনার জন্য Grav-এর কনফিগারেশন এবং টেমপ্লেট ব্যবহারের বিস্তারিত ব্যাখ্যা করব।


Grav এর ভাষা ব্যবস্থাপনা

Grav CMS মাল্টি-ল্যাঙ্গুয়েজ সাইট তৈরির জন্য একটি সহজ এবং শক্তিশালী ব্যবস্থা প্রদান করে। Grav এর ভাষা ব্যবস্থা নিম্নলিখিত দুটি প্রধান অংশে বিভক্ত:

  1. প্রধান ভাষা (Default Language): এটি সাইটের মূল ভাষা, যা ব্যবহারকারীর জন্য প্রথমে প্রদর্শিত হয়।
  2. অতিরিক্ত ভাষা (Additional Languages): প্রধান ভাষার বাইরেও আপনি সাইটের বিভিন্ন ভাষার সংস্করণ তৈরি করতে পারেন, যেমন ইংরেজি, বাংলা, ফরাসি ইত্যাদি।

Grav-এ ভাষা কনফিগারেশন

Grav-এ ভাষার সঠিক কনফিগারেশন করতে, আপনাকে সাইটের system.yaml ফাইলে ভাষার সেটিংস নির্ধারণ করতে হবে। নিচে এর কনফিগারেশন দেখানো হলো:

১. system.yaml কনফিগারেশন

languages:
  supported:
    - en
    - bn
    - fr
  default_lang: en
  include_default_lang: false

এখানে:

  • supported: সাইটে যে ভাষাগুলি সমর্থিত (supported) তা তালিকাভুক্ত করা হয়। যেমন, এখানে ইংরেজি (en), বাংলা (bn) এবং ফরাসি (fr) ভাষা রয়েছে।
  • default_lang: সাইটের ডিফল্ট ভাষা (এখানে ইংরেজি en)।
  • include_default_lang: এটি সেট করা থাকে false, কারণ আপনি যদি একাধিক ভাষা ব্যবহার করেন, তবে ডিফল্ট ভাষাটি URL-এ অন্তর্ভুক্ত করতে হবে না। যদি true সেট করা হয়, তবে ডিফল্ট ভাষার জন্য URL-এ ভাষা কোড অন্তর্ভুক্ত করা হবে (যেমন /en/home এবং /bn/home)।

২. পেজগুলির ভাষা কনফিগারেশন

প্রতিটি পেজের জন্য, আপনি নির্দিষ্ট ভাষা নির্ধারণ করতে পারেন। একটি পেজের .md ফাইলের মধ্যে এই ভাষাগত কনফিগারেশন থাকবে। উদাহরণস্বরূপ, যদি আপনি ইংরেজি এবং বাংলা সংস্করণ তৈরি করতে চান, তাহলে পেজের default.md এবং default.bn.md ফাইল তৈরি করতে হবে।

English Version (default.md):

title: "Welcome to Our Website"
language: en
---
This is the English version of the page.

Bangla Version (default.bn.md):

title: "আমাদের ওয়েবসাইটে স্বাগতম"
language: bn
---
এটি পৃষ্ঠার বাংলা সংস্করণ।

এখানে:

  • language: en এবং language: bn এর মাধ্যমে আমরা পেজের ভাষা নির্ধারণ করেছি।
  • Grav এই কনফিগারেশন ব্যবহার করে সঠিক ভাষা ভিত্তিক পেজ রেন্ডার করবে।

Grav-এ মাল্টি-ল্যাঙ্গুয়েজ সাইট পরিচালনা

Grav এ মাল্টি-ল্যাঙ্গুয়েজ সাইট পরিচালনা করা সহজ। একটি ভাষায় তৈরি পেজের জন্য অন্য ভাষার সংস্করণ তৈরি করা হয়। Grav এই ভাষাগুলির মধ্যে পেজগুলো একত্রিত করে এবং ব্যবহারকারী ভাষা পরিবর্তন করতে পারে।

১. নেভিগেশন লিঙ্ক তৈরি করা

Grav আপনাকে বিভিন্ন ভাষার জন্য নেভিগেশন লিঙ্ক তৈরি করতে সহায়তা করে, যা ব্যবহারকারীদের সহজেই ভাষা পরিবর্তন করতে সক্ষম করে।

Twig Template (navigation):

<ul>
    {% for lang in grav.languages %}
        <li>
            <a href="{{ url | lang(lang.code) }}">
                {% if lang.code == grav.language %}
                    <strong>{{ lang.name }}</strong>
                {% else %}
                    {{ lang.name }}
                {% endif %}
            </a>
        </li>
    {% endfor %}
</ul>

এখানে:

  • lang(lang.code): এটি সঠিক ভাষার URL তৈরি করবে।
  • lang.name: এটি ভাষার নাম প্রদর্শন করবে (যেমন ইংরেজি, বাংলা, ফরাসি)।

২. টেমপ্লেট ভাষার পরিবর্তন

Grav-এ আপনি প্রতিটি পেজের ভাষার জন্য আলাদা টেমপ্লেট তৈরি করতে পারেন। lang ফাংশন ব্যবহার করে ভাষা পরিবর্তনের জন্য টেমপ্লেটের মধ্যে ব্যবহার করতে পারেন:

Twig Template (dynamic content):

{% if grav.language == 'bn' %}
    <h1>আমাদের ওয়েবসাইটে স্বাগতম</h1>
    <p>এটি বাংলা সংস্করণ</p>
{% else %}
    <h1>Welcome to Our Website</h1>
    <p>This is the English version of the page.</p>
{% endif %}

এখানে, Grav ব্যবহারকারীর নির্বাচিত ভাষার ভিত্তিতে কনটেন্ট রেন্ডার করবে।


Grav-এ ভাষা ভিত্তিক পেজ কনটেন্টের ব্যবস্থাপনা

Grav এর মাধ্যমে ভাষা ভিত্তিক পেজ এবং কনটেন্ট পরিচালনা করা সহজ। আপনি প্রতিটি ভাষার জন্য আলাদা আলাদা .md ফাইল তৈরি করতে পারেন এবং সেগুলির কনটেন্ট কাস্টমাইজ করতে পারেন। Grav সাইটের বিভিন্ন ভাষার কনটেন্টের সমন্বয় সহজভাবে করবে এবং সঠিকভাবে ব্যবহারকারীর জন্য ভাষাগত কনটেন্ট সরবরাহ করবে।

১. স্বয়ংক্রিয় ভাষা নির্বাচন

Grav স্বয়ংক্রিয়ভাবে ব্যবহারকারীর ব্রাউজার ভাষা শনাক্ত করতে পারে এবং সেই অনুযায়ী সাইটের ভাষা সেট করতে পারে। এটি Accept-Language HTTP হেডারের মাধ্যমে কাজ করে, যা ব্রাউজারের ভাষার কনফিগারেশন অনুযায়ী সাইটের ভাষা নির্বাচন করে।

২. ভাষা পছন্দ এবং সেশন সংরক্ষণ

Grav সাইটে ব্যবহারকারীদের জন্য ভাষার পছন্দ সংরক্ষণ করার জন্য সেশন ব্যবহার করতে পারেন। Grav এই সেশন ডেটা ব্যবহার করে পরবর্তী সময় ভাষার পছন্দ পুনরুদ্ধার করবে।


সারাংশ

Grav CMS এর ভাষা ভিত্তিক পেজ তৈরি এবং পরিচালনা একটি শক্তিশালী বৈশিষ্ট্য যা আপনার সাইটকে একাধিক ভাষায় পরিবেশন করতে সহায়তা করে। Grav-এ ভাষার কনফিগারেশন খুবই সহজ এবং আপনি কাস্টম .md ফাইলের মাধ্যমে প্রতিটি ভাষার কনটেন্ট আলাদা করে তৈরি করতে পারবেন। এছাড়া, Grav আপনাকে ভাষার ভিত্তিতে ডাইনামিক কনটেন্ট রেন্ডার করতে সহায়তা করে, যা ব্যবহারকারীদের একটি মাল্টি-ল্যাঙ্গুয়েজ সাইটে প্রবেশের অভিজ্ঞতা উন্নত করে।

Content added By

Grav CMS একটি অত্যন্ত নমনীয় কনটেন্ট ম্যানেজমেন্ট সিস্টেম (CMS), যা Multilingual সাইট তৈরি করার জন্য শক্তিশালী ফিচার প্রদান করে। এর মাধ্যমে আপনি বিভিন্ন ভাষায় সাইটের কনটেন্ট এবং URLs পরিচালনা করতে পারেন। Grav এ Multilingual URLs এবং ভাষার ভিত্তিতে পেজ ফিল্টারিং কার্যকরভাবে কনফিগার করা যায়, যা আপনার সাইটকে গ্লোবাল দর্শকদের জন্য উপযোগী করে তোলে।

এই গাইডে, আমরা Multilingual URLs এবং ভাষার ভিত্তিতে পেজ ফিল্টারিং নিয়ে আলোচনা করব, যাতে আপনি সাইটের একাধিক ভাষায় কনটেন্ট এবং ইউআরএল পরিচালনা করতে পারেন।


Multilingual URLs কি?

Multilingual URLs হল সাইটের এমন ইউআরএল গঠন, যা বিভিন্ন ভাষার জন্য আলাদা আলাদা রাউট এবং কনটেন্ট প্রদর্শন করে। Grav-এ আপনি সাইটের বিভিন্ন ভাষার জন্য আলাদা আলাদা পেজ তৈরি করতে পারেন এবং প্রতিটি ভাষার জন্য পৃথক ইউআরএল ব্যবহার করতে পারেন।

Grav-এ multilingual সাইট কনফিগার করতে, আপনাকে সাইটের কনফিগারেশন ফাইল এবং পেজগুলির মধ্যে কিছু সেটিংস পরিবর্তন করতে হবে।


Grav এ Multilingual সাইট কনফিগারেশন

Grav-এ Multilingual সাইট তৈরি করার জন্য আপনাকে প্রথমে কিছু কনফিগারেশন করতে হবে। Grav এর languages.yaml ফাইল এবং page ফাইলের মাধ্যমে আপনি সাইটের ভাষা নির্ধারণ করতে পারবেন।

১. languages.yaml কনফিগারেশন

প্রথমে user/config/system.yaml ফাইলে Multilingual অপশনটি সক্রিয় করুন এবং ভাষাগুলোর জন্য কনফিগারেশন সেট করুন:

languages:
  supported: ['en', 'fr', 'es']
  default: en
  translations: true
  fallback_locale: en

এখানে:

  • supported: আপনি যে ভাষাগুলো সাইটে সমর্থন করতে চান সেগুলোর লিস্ট।
  • default: ডিফল্ট ভাষা (যেমন ইংরেজি en)।
  • translations: এই অপশনটি সাইটের ভাষার অনুবাদ সক্রিয় করে।
  • fallback_locale: যদি কোনো নির্দিষ্ট ভাষার কনটেন্ট না থাকে, তবে এটি ডিফল্ট ভাষায় ফিরে যাবে।

২. পেজে ভাষা নির্ধারণ

আপনার সাইটের প্রতিটি পেজের জন্য আলাদা আলাদা ভাষা নির্ধারণ করতে হবে। এটি user/pages/ ফোল্ডারে পেজের .md ফাইলের মধ্যে করা হয়।

যেমন, যদি আপনি একটি পেজের জন্য ইংরেজি এবং ফরাসি ভাষা ব্যবহার করতে চান:

/user/pages/01.home/default.md (ইংরেজি):

title: "Welcome"
language: en

/user/pages/01.home/fr/default.md (ফরাসি):

title: "Bienvenue"
language: fr

এখানে, সাইটে 01.home পেজের ইংরেজি এবং ফরাসি ভার্সন আলাদা আলাদা কনটেন্ট এবং শিরোনাম দিয়ে তৈরি করা হয়েছে।


Multilingual URLs কনফিগারেশন

Grav-এ Multilingual URLs ব্যবহার করার জন্য আপনাকে কিছু কনফিগারেশন সেট করতে হবে, যাতে প্রতিটি ভাষার জন্য আলাদা আলাদা ইউআরএল তৈরি হয়।

১. URL স্ট্রাকচার কনফিগার করা

Grav এর কনফিগারেশন ফাইলে routes অপশন ব্যবহার করে ভাষাভিত্তিক ইউআরএল স্ট্রাকচার কাস্টমাইজ করা যায়। উদাহরণস্বরূপ:

routes:
  en: /en
  fr: /fr
  es: /es

এটি নিশ্চিত করবে যে:

  • ইংরেজি পেজের জন্য ইউআরএল হবে /en/
  • ফরাসি পেজের জন্য ইউআরএল হবে /fr/
  • স্প্যানিশ পেজের জন্য ইউআরএল হবে /es/

এখন, আপনার সাইটের জন্য ভাষার ভিত্তিতে আলাদা আলাদা ইউআরএল পাওয়া যাবে, যা ভাষা পরিবর্তনের সময় গ্রাহকদের সঠিক কনটেন্ট দেখাবে।


ভাষার ভিত্তিতে পেজ ফিল্টারিং

Grav-এ আপনি সহজেই ভাষার ভিত্তিতে পেজ ফিল্টার করতে পারেন। এটি একটি শক্তিশালী পদ্ধতি, যেখানে আপনি শুধুমাত্র নির্দিষ্ট ভাষার কনটেন্ট প্রদর্শন করতে পারেন, যাতে ব্যবহারকারীরা তাদের পছন্দের ভাষায় কনটেন্ট দেখতে পায়।

১. ভাষার ভিত্তিতে পেজ ফিল্টারিং

যেমন, আপনি যদি চান যে একটি নির্দিষ্ট ভাষার পেজ শুধুমাত্র প্রদর্শিত হবে, তাহলে Twig টেমপ্লেট ফাইলে ভাষার ভিত্তিতে পেজ ফিল্টার করতে পারেন:

{% for page in pages.children %}
    {% if page.language == grav.language.getActive() %}
        <h2><a href="{{ page.url }}">{{ page.title }}</a></h2>
    {% endif %}
{% endfor %}

এখানে:

  • grav.language.getActive() একটিভ ভাষা হিসেবে ব্যবহৃত হবে (যেমন en, fr, বা es)।
  • এটি কেবলমাত্র সেই ভাষার পেজগুলোই প্রদর্শন করবে যা বর্তমান ভাষার সাথে মেলে।

২. ভাষার ভিত্তিতে কাস্টম পেজ ফিল্টার

যদি আপনি চান যে, একটি নির্দিষ্ট ভাষার পেজ একটি নির্দিষ্ট ক্যাটেগরি বা ট্যাগের উপর ভিত্তি করে প্রদর্শিত হবে, তাহলে এটি এভাবে করতে পারেন:

{% for page in pages.find('/blog').children %}
    {% if page.language == grav.language.getActive() and 'technology' in page.taxonomy.category %}
        <h2><a href="{{ page.url }}">{{ page.title }}</a></h2>
    {% endif %}
{% endfor %}

এখানে, কেবলমাত্র technology ক্যাটেগরির পেজগুলি সেই ভাষায় প্রদর্শিত হবে যা ব্যবহারকারী নির্বাচন করেছে।


Grav Multilingual সাইটের সুবিধাসমূহ

  1. বিভিন্ন ভাষায় সাইট কনটেন্ট প্রদর্শন: Grav এর মাধ্যমে আপনি একাধিক ভাষায় সাইটের কনটেন্ট তৈরি করতে পারেন, যা আন্তর্জাতিক দর্শকদের জন্য উপযোগী করে তোলে।
  2. ভাষার ভিত্তিতে কনটেন্ট ফিল্টারিং: Grav আপনাকে ভাষার ভিত্তিতে কনটেন্ট ফিল্টার করতে সহায়তা করে, যাতে ব্যবহারকারী তাদের পছন্দের ভাষায় কনটেন্ট দেখতে পায়।
  3. ইউআরএল স্ট্রাকচার কাস্টমাইজেশন: আপনি সহজেই ভাষাভিত্তিক ইউআরএল স্ট্রাকচার কাস্টমাইজ করতে পারেন, যেমন /en/, /fr/, /es/
  4. SEO সহায়ক: Grav এর multilingual সিস্টেম সার্চ ইঞ্জিন অপটিমাইজেশন (SEO) উন্নত করতে সাহায্য করে, কারণ এটি ভাষা ভিত্তিক কনটেন্টকে আলাদা করে এবং সঠিক ভাষার কনটেন্ট প্রদর্শন করে।
  5. ইউজার-বান্ধব: Grav এর মাধ্যমে বিভিন্ন ভাষায় কনটেন্ট প্রদান করা খুবই সহজ এবং সাইটের দর্শকদের জন্য একটি সহজ, এক্সপ্লোরযোগ্য অভিজ্ঞতা তৈরি করা যায়।

সারাংশ

Grav CMS-এ Multilingual URLs এবং ভাষার ভিত্তিতে পেজ ফিল্টারিং একটি শক্তিশালী উপায় যা আন্তর্জাতিক সাইট পরিচালনার ক্ষেত্রে সহায়ক। Grav এর মাধ্যমে আপনি একাধিক ভাষায় কনটেন্ট তৈরি করতে পারেন, ভাষার ভিত্তিতে কনটেন্ট প্রদর্শন করতে পারেন এবং ইউআরএল কাস্টমাইজ করে একটি পরিপূর্ণ মাল্টি-ল্যাঙ্গুয়েজ সাইট তৈরি করতে পারেন। Grav এর এই ফিচারগুলো আপনার সাইটের বৈশ্বিক দর্শকদের জন্য আরও অ্যাক্সেসযোগ্য এবং কার্যকরী করে তোলে।

Content added By

Grav CMS একটি অত্যন্ত নমনীয় কনটেন্ট ম্যানেজমেন্ট সিস্টেম যা Multilingual (বহুভাষী) সাইট পরিচালনার জন্য শক্তিশালী সাপোর্ট প্রদান করে। বহুভাষী সাইটে taxonomy ব্যবস্থাপনা করা বেশ গুরুত্বপূর্ণ, কারণ এটি সাইটের বিভিন্ন ভাষার কনটেন্টকে সঠিকভাবে শ্রেণীবদ্ধ এবং সেগুলি প্রদর্শন করতে সহায়তা করে।

এই গাইডে, আমরা Grav-এ Multilingual Taxonomy সেটআপ এবং ব্যবস্থাপনার পদ্ধতি নিয়ে আলোচনা করব, যাতে আপনি বহুভাষী সাইটে taxonomy ব্যবস্থাপনা সহজে এবং কার্যকরভাবে করতে পারেন।


Multilingual Taxonomy কী?

Multilingual Taxonomy হল এমন একটি সিস্টেম যা আপনাকে একটি নির্দিষ্ট শ্রেণী বা ট্যাগের জন্য একাধিক ভাষায় কনটেন্ট শ্রেণীবদ্ধ এবং পরিচালনা করতে সাহায্য করে। এর মাধ্যমে, আপনি কেবল একটি ভাষার কনটেন্ট নয়, বরং একাধিক ভাষায় সঠিকভাবে taxonomy ব্যবহার করতে পারবেন। Grav আপনাকে বিভিন্ন ভাষায় taxonomy মানগুলি কনফিগার এবং রেন্ডার করার সুযোগ দেয়।


Grav-এ Multilingual Taxonomy সেটআপ

Grav-এ বহুভাষী taxonomy সেটআপ করতে আপনাকে Grav's Multilingual Plugin এবং taxonomy ফিচার কনফিগার করতে হবে। Grav-এর Multilingual সিস্টেম মূলত languages ফোল্ডারের মাধ্যমে ভাষার পরিবর্তন করে এবং প্রতিটি ভাষার জন্য আলাদা taxonomy রচনা করে।

১. Multilingual Plugin ইনস্টল করা

প্রথমে, Grav-এ Multilingual Plugin ইনস্টল করতে হবে। এটি Grav-এর ব্যবহৃত ভাষাগুলির জন্য সমর্থন যোগ করবে এবং আপনি একাধিক ভাষায় কনটেন্ট পরিচালনা করতে পারবেন।

composer require getgrav/plugin-langswitcher

এটি ইনস্টল করার পর, আপনি config/system.yaml ফাইলে ভাষা কনফিগারেশন করতে পারেন।

২. ভাষার কনফিগারেশন

Grav এর languages ফোল্ডার ব্যবহার করে আপনি একাধিক ভাষা কনফিগার করতে পারেন। Grav সাইটের user/config/system.yaml ফাইলে এই কনফিগারেশন করা হয়।

languages:
  supported:
    - en
    - fr
    - de
  default: en
  include_default_lang: false
  translations: true

এখানে:

  • supported: আপনি যেসব ভাষা সাপোর্ট করতে চান, যেমন ইংরেজি (en), ফরাসি (fr), জার্মান (de)।
  • default: ডিফল্ট ভাষা (যেমন en বা ইংরেজি)।
  • translations: ভাষার অনুবাদ সক্ষম করার জন্য true সেট করুন।

৩. Taxonomy ফিল্ড কনফিগারেশন

আপনি যখন একটি পেজের taxonomy তৈরি করেন, তখন Grav আপনাকে প্রতিটি ভাষার জন্য আলাদা taxonomy মান প্রদান করার সুযোগ দেয়।

উদাহরণস্বরূপ:

title: "My Blog Post"
date: "2024-12-22"
taxonomy:
  category:
    en: "Tutorial"
    fr: "Tutoriel"
    de: "Tutorial"
  tag:
    en:
      - "Grav"
      - "CMS"
    fr:
      - "Grav"
      - "CMS"
    de:
      - "Grav"
      - "CMS"

এখানে:

  • category: একটি ক্যাটেগরি taxonomy যা ইংরেজি, ফরাসি এবং জার্মান ভাষায় আলাদা মান আছে।
  • tag: কনটেন্টের ট্যাগগুলি ভাষার ভিত্তিতে আলাদা করা হয়েছে।

এভাবে, আপনি প্রতিটি ভাষার জন্য আলাদা taxonomy মান নির্ধারণ করতে পারেন।


Grav-এ Multilingual Taxonomy ব্যবস্থাপনা

Grav-এ multilingual taxonomy ব্যবস্থাপনার মাধ্যমে আপনি সাইটের বিভিন্ন ভাষার কনটেন্ট সহজে পরিচালনা করতে পারেন। Grav এর Twig টেমপ্লেট ইঞ্জিন ব্যবহার করে আপনি একাধিক ভাষায় taxonomy রেন্ডার করতে পারবেন এবং সঠিক কনটেন্ট প্রদর্শন করতে পারবেন।

১. Multilingual Taxonomy রেন্ডার করা

যখন আপনি Grav-এ একটি multilingual taxonomy সেটআপ করেন, তখন আপনার টেমপ্লেটে ভাষার উপর ভিত্তি করে সঠিক taxonomy মান প্রদর্শন করতে হবে।

উদাহরণ:

{% if language == 'en' %}
    <p>Category: {{ page.taxonomy.category.en }}</p>
{% elseif language == 'fr' %}
    <p>Catégorie: {{ page.taxonomy.category.fr }}</p>
{% elseif language == 'de' %}
    <p>Kategorie: {{ page.taxonomy.category.de }}</p>
{% endif %}

এখানে:

  • language: Grav এর language ভ্যারিয়েবল যা সাইটের ভাষা নির্ধারণ করে।
  • taxonomy.category: ভাষাভিত্তিক ক্যাটেগরি প্রদর্শন করা হচ্ছে।

২. ফিল্টারিং এবং রেন্ডারিং

Grav-এ আপনি multilingual taxonomy এর মাধ্যমে কনটেন্ট ফিল্টার করতে পারেন। উদাহরণস্বরূপ, যদি আপনি ইংরেজি ভাষায় Tutorial ক্যাটেগরির কনটেন্টগুলো প্রদর্শন করতে চান, তাহলে নিচের কোড ব্যবহার করতে পারেন:

<ul>
{% for page in pages.find('/blog').children %}
    {% if 'Tutorial' in page.taxonomy.category[language] %}
        <li><a href="{{ page.url }}">{{ page.title }}</a></li>
    {% endif %}
{% endfor %}
</ul>

এখানে:

  • page.taxonomy.category[language]: নির্দিষ্ট ভাষায় ক্যাটেগরি মান অনুসন্ধান করছে।
  • language: বর্তমানে নির্বাচিত ভাষা অনুসারে কনটেন্ট ফিল্টার করা হচ্ছে।

৩. ডায়নামিক ট্যাগ এবং ক্যাটেগরি লিস্টিং

Grav-এ multilingual taxonomy ব্যবহার করে ডায়নামিকভাবে ক্যাটেগরি বা ট্যাগ লিস্ট তৈরি করা যায়। উদাহরণস্বরূপ:

<ul>
{% for category in taxonomy['category'][language] %}
    <li><a href="/category/{{ category }}">{{ category }}</a></li>
{% endfor %}
</ul>

এটি বর্তমানে নির্বাচিত ভাষার ভিত্তিতে ক্যাটেগরি লিস্ট তৈরি করবে।


Grav-এ Multilingual Taxonomy ব্যবস্থাপনার সুবিধা

  1. ভাষাভিত্তিক কনটেন্ট প্রদর্শন: Grav এর multilingual taxonomy সিস্টেমের মাধ্যমে আপনি সহজেই কনটেন্ট ভাষার ভিত্তিতে শ্রেণীবদ্ধ এবং প্রদর্শন করতে পারেন।
  2. কাস্টম কনটেন্ট ফিল্টারিং: আপনি সহজেই ট্যাগ বা ক্যাটেগরি ভিত্তিক কনটেন্ট ফিল্টার করতে পারেন, যা ব্যবহারকারীদের সাইটের বিভিন্ন ভাষায় কনটেন্ট অনুসন্ধান করতে সাহায্য করে।
  3. SEO উন্নয়ন: একাধিক ভাষায় কনটেন্ট প্রদর্শন করা সাইটের SEO উন্নত করতে সহায়তা করে, কারণ বিভিন্ন ভাষায় সঠিক শ্রেণীভুক্ত কনটেন্ট সার্চ ইঞ্জিনে সঠিকভাবে র‌্যাংক করতে সাহায্য করে।
  4. ব্যবহারকারীর অভিজ্ঞতা: একাধিক ভাষায় taxonomy সেটআপ করার মাধ্যমে ব্যবহারকারীদের জন্য সাইটের নেভিগেশন এবং কনটেন্ট এক্সপ্লোর করা সহজ হয়।

সারাংশ

Grav-এ Multilingual Taxonomy ব্যবস্থাপনা সাইটের কনটেন্টকে বিভিন্ন ভাষায় শ্রেণীবদ্ধ এবং প্রদর্শন করার একটি শক্তিশালী উপায়। Grav এর Multilingual Plugin এবং taxonomy সিস্টেমের মাধ্যমে আপনি কনটেন্টের শ্রেণীভুক্তকরণ এবং প্রদর্শন সহজভাবে করতে পারেন। একাধিক ভাষায় taxonomy ব্যবস্থাপনা সাইটের ব্যবহারকারীর অভিজ্ঞতা উন্নত করে এবং SEO এর জন্যও উপকারী।

Content added By
Promotion

Are you sure to start over?

Loading...