ট্রান্সলেশন ফাইল ব্যবহার (XLIFF, YAML ইত্যাদি)

আন্তর্জাতিকীকরণ (i18n) এবং লোকালাইজেশন (l10n) - সিম্ফনি (Symfony) - Web Development

223

Symfony একটি শক্তিশালী i18n (Internationalization) এবং l10n (Localization) সিস্টেম সরবরাহ করে, যা অ্যাপ্লিকেশনগুলিকে একাধিক ভাষায় অনুবাদ করতে সহায়ক। Symfony-এর Translation Component ব্যবহার করে আপনি সহজেই ট্রান্সলেশন ফাইলগুলি তৈরি এবং ব্যবহার করতে পারেন। Symfony বিভিন্ন ফাইল ফরম্যাটে (যেমন XLIFF, YAML, PHP, ইত্যাদি) ট্রান্সলেশন সাপোর্ট করে।

এই গাইডে, আমরা XLIFF এবং YAML ফরম্যাটে ট্রান্সলেশন ফাইল তৈরি এবং ব্যবহারের পদ্ধতি আলোচনা করব।


Symfony তে ট্রান্সলেশন সিস্টেম

Symfony-তে ট্রান্সলেশন সিস্টেমের জন্য Translation Component ব্যবহৃত হয়। এই সিস্টেমটি আপনার অ্যাপ্লিকেশনকে একাধিক ভাষায় কাজ করতে সক্ষম করে, এবং এটি Translation সার্ভিসের মাধ্যমে ভাষার অনুবাদ পরিচালনা করে।

Translation Component ইনস্টল করা

Symfony-এর Translation Component ইনস্টল করতে, আপনি Composer ব্যবহার করতে পারেন:

composer require symfony/translation

ট্রান্সলেশন ফাইল ফরম্যাট

Symfony বিভিন্ন ফরম্যাটে ট্রান্সলেশন ফাইল সমর্থন করে। এখানে আমরা XLIFF এবং YAML ফরম্যাটের ব্যবহার দেখব।


YAML ফরম্যাটে ট্রান্সলেশন

YAML ফরম্যাটটি Symfony তে ট্রান্সলেশন ফাইলের জন্য সবচেয়ে জনপ্রিয় এবং ব্যবহারকারী বান্ধব ফরম্যাট। এটি স্পষ্ট এবং পাঠযোগ্য, যা অনুবাদ পরিচালনা করা সহজ করে।

YAML ফরম্যাটে ট্রান্সলেশন ফাইল তৈরি করা

  1. প্রথমে, translations/ ডিরেক্টরিতে একটি YAML ফাইল তৈরি করুন। উদাহরণস্বরূপ, ইংরেজি এবং ফরাসি ভাষার জন্য ফাইল তৈরি করা:
  • translations/messages.en.yaml:

    hello: "Hello, how are you?"
    goodbye: "Goodbye and take care!"
    
  • translations/messages.fr.yaml:

    hello: "Bonjour, comment ça va ?"
    goodbye: "Au revoir et prenez soin de vous !"
    
  1. Symfony তে ট্রান্সলেশন ফাইলগুলি messages নামক ডিফল্ট ক্যাটেগরিতে থাকবে, তবে আপনি চাইলে আলাদা ক্যাটেগরি বা ডোমেইন তৈরি করতে পারেন।

YAML ফরম্যাটে ট্রান্সলেশন ব্যবহার

Symfony তে YAML ফাইল থেকে ট্রান্সলেশন ব্যবহার করতে trans() মেথড ব্যবহার করা হয়। উদাহরণ:

use Symfony\Component\HttpFoundation\Response;
use Symfony\Contracts\Translation\TranslatorInterface;

public function index(TranslatorInterface $translator): Response
{
    $translatedText = $translator->trans('hello');
    return new Response($translatedText);
}

এখানে trans('hello') মেথড messages.en.yaml বা messages.fr.yaml ফাইল থেকে উপযুক্ত ভাষার অনুবাদ নিয়ে আসবে।


XLIFF ফরম্যাটে ট্রান্সলেশন

XLIFF (XML Localization Interchange File Format) ফরম্যাটটি আরও প্রফেশনাল অনুবাদের জন্য ব্যবহৃত হয় এবং এটি XML ভিত্তিক। XLIFF ফরম্যাটে ট্রান্সলেশন ফাইলগুলি বেশ কিছু বিশেষ বৈশিষ্ট্য প্রদান করে, যেমন প্লেসহোল্ডার, কনটেক্সট, ইত্যাদি।

XLIFF ফরম্যাটে ট্রান্সলেশন ফাইল তৈরি করা

  1. XLIFF ফাইল সাধারণত .xlf এক্সটেনশন সহ থাকে। Symfony তে XLIFF ফাইল তৈরি করতে, translations/ ডিরেক্টরিতে একটি .xlf ফাইল তৈরি করতে হবে।
  • translations/messages.en.xlf:

    <?xml version="1.0" encoding="UTF-8"?>
    <xliff version="1.2">
        <file source-language="en" target-language="fr">
            <body>
                <trans-unit id="1">
                    <source>Hello, how are you?</source>
                    <target>Bonjour, comment ça va ?</target>
                </trans-unit>
                <trans-unit id="2">
                    <source>Goodbye and take care!</source>
                    <target>Au revoir et prenez soin de vous !</target>
                </trans-unit>
            </body>
        </file>
    </xliff>
    
  1. XLIFF ফাইল XML ভিত্তিক হওয়ায় এটি অনেক বেশি কনফিগারযোগ্য এবং স্থানীয়করণের জন্য ব্যবহৃত হয় যেখানে আরও উন্নত বৈশিষ্ট্য প্রয়োজন।

XLIFF ফরম্যাটে ট্রান্সলেশন ব্যবহার

Symfony তে XLIFF ফাইল ব্যবহার করতে একইভাবে trans() মেথড ব্যবহার করা হয়, তবে XLIFF ফাইলের ডেটা Symfony দ্বারা XML ফরম্যাটে পড়া হয়।

use Symfony\Component\HttpFoundation\Response;
use Symfony\Contracts\Translation\TranslatorInterface;

public function index(TranslatorInterface $translator): Response
{
    $translatedText = $translator->trans('hello');
    return new Response($translatedText);
}

এখানে, trans('hello') XLIFF ফাইল থেকে সংশ্লিষ্ট অনুবাদ বের করবে।


কনফিগারেশন এবং ব্যবস্থাপনা

Symfony-তে Translation ব্যবহারের জন্য আপনার config/packages/translation.yaml ফাইলে সঠিক কনফিগারেশন সেট করতে হয়:

framework:
    translator:
        default_path: '%kernel.project_dir%/translations'
        fallbacks:
            - en

এখানে:

  • default_path: এটি আপনার ট্রান্সলেশন ফাইলের পাথ নির্দেশ করে।
  • fallbacks: এটি ব্যাকআপ ভাষা নির্ধারণ করে, যদি নির্বাচিত ভাষার জন্য কোনো অনুবাদ না পাওয়া যায়।

মাল্টি-ল্যাঙ্গুয়েজ সাপোর্ট

Symfony ট্রান্সলেশন সিস্টেম একাধিক ভাষা সমর্থন করে। আপনি একাধিক ভাষার ট্রান্সলেশন ফাইল তৈরি করতে পারেন এবং Symfony locale দ্বারা সেগুলির মধ্যে সুইচ করতে পারে।

ভাষা পরিবর্তন করা:

Symfony তে ভাষা পরিবর্তন করতে, আপনি $translator->setLocale() মেথড ব্যবহার করতে পারেন:

$translator->setLocale('fr');
$translatedText = $translator->trans('hello');

এটি messages.fr.yaml অথবা messages.fr.xlf ফাইল থেকে অনুবাদ নিয়ে আসবে।


ট্রান্সলেশন ফাইলের কাস্টমাইজেশন এবং অন্যান্য ফরম্যাট

Symfony আরও কিছু ফরম্যাট সমর্থন করে, যেমন PHP ফাইল অথবা CSV ফাইল। তবে, XLIFF এবং YAML ফরম্যাট সবচেয়ে জনপ্রিয় এবং ব্যবহৃত হয়, বিশেষ করে বৃহত্তর প্রজেক্টে।


সারাংশ

Symfony-এর Translation Component ব্যবহারের মাধ্যমে আপনি সহজে আপনার অ্যাপ্লিকেশনকে একাধিক ভাষায় অনুবাদ করতে পারেন। YAML এবং XLIFF ফরম্যাট ট্রান্সলেশন ফাইল তৈরি করার জন্য সবচেয়ে বেশি ব্যবহৃত হয়। Symfony-এর ট্রান্সলেশন সিস্টেম আপনাকে একাধিক ভাষায় কনটেন্ট প্রদর্শন করার সুবিধা দেয় এবং মাল্টি-ল্যাঙ্গুয়েজ সাপোর্ট ব্যবস্থাপনাও সহজ করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...