প্রবন্ধ

লারাভেল স্থানীয়করণ ধাপে ধাপে নির্দেশিকা, উদাহরণ সহ টিউটোরিয়াল

কীভাবে একটি লারাভেল প্রকল্প স্থানীয়করণ করা যায়, কীভাবে লারাভেলে একটি প্রকল্প বিকাশ করা যায় এবং এটি একাধিক ভাষায় ব্যবহারযোগ্য করে তোলে। এই নিবন্ধে আমরা উদাহরণ সহ অনুবাদ ফাইলগুলির সাথে কীভাবে কাজ করতে হয়, একটি ভাষা পরিবর্তনকারী এবং আরও অনেক কিছু তৈরি করতে হয় তা দেখি।

লারাভেল একটি অ্যাপ্লিকেশন যা স্থানীয় হতে, বিভিন্ন ভাষা এবং সংস্কৃতির সাথে খাপ খাইয়ে নেওয়ার জন্য ডিজাইন করা হয়েছে। অনুবাদের মাধ্যমে একটি নির্দিষ্ট ভাষার জন্য স্থানীয়করণ অ্যাপ্লিকেশনগুলিকে আন্তর্জাতিকীকরণ করে।

পূর্বশর্ত

  • এই নিবন্ধে আমরা উল্লেখ করব লারাভেল সংস্করণ 8.x;
  • এই টিউটোরিয়ালটি সফলভাবে অনুসরণ করার জন্য, আপনাকে পিএইচপি প্রোগ্রামিং ভাষা এবং লারাভেল ফ্রেমওয়ার্ক সম্পর্কে প্রয়োজনীয় জ্ঞান থাকতে হবে।
  • আপনার ডোমেইন হল localhost. যদি না হয়, প্রতিস্থাপন করুন localhost আপনার নিজের ডোমেন নাম বা IP ঠিকানা দিয়ে (আপনার ইনস্টলেশনের উপর নির্ভর করে)।

অনুবাদ ফাইল নিয়ে কাজ করা

লারাভেলে, অন্যান্য ফ্রেমওয়ার্কের মতোই, আমরা আলাদা আলাদা ফাইলে বিভিন্ন ভাষার অনুবাদ সংরক্ষণ করতে পারি। Laravel অনুবাদ ফাইলগুলি সংগঠিত করার দুটি উপায় রয়েছে:

  • একটি পুরানো পদ্ধতি যা নিম্নলিখিত অবস্থানে ফাইল সংরক্ষণ করে: resources/lang/{en,fr,ru}/{myfile.php};
  • একটি নতুন পদ্ধতি যা নিম্নলিখিত অবস্থানে ফাইল সংরক্ষণ করে: resources/lang/{fr.json, ru.json};

অঞ্চলভেদে ভিন্ন ভাষাগুলির জন্য, আপনার তাদের নাম দেওয়া উচিত directory/file আইএসও 15897 অনুযায়ী ভাষার। উদাহরণস্বরূপ, ইউকে ইংরেজির জন্য আপনি ব্যবহার করবেন en_GB পরিবর্তে en-gb. এই নিবন্ধে, আমরা দ্বিতীয় পদ্ধতির উপর ফোকাস করব, কিন্তু প্রথমটির ক্ষেত্রেও একই কথা (যেভাবে অনুবাদ কী নামকরণ করা হয় এবং পুনরুদ্ধার করা হয়)। 

সহজ অনুবাদ

এখন, এর যান resources/views/welcome.blade.phpফাইল এবং এর বিষয়বস্তু প্রতিস্থাপন bodyআমাদের সাথে ট্যাগ করুন, যেমন:

<body class="antialiased">
    <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center py-4 sm:pt-0">
        <div class="max-w-6xl mx-auto sm:px-6 lg:px-8">
            <div class="flex justify-center pt-8 sm:justify-start sm:pt-0">
                Welcome to our website
            </div>
        </div>
    </div>
</body>

আমরা আমাদের স্থানীয়করণ স্বাগত বার্তা প্রস্তুত করে শুরু করব, যা লারাভেলে সত্যিই সহজ। আপনাকে যা করতে হবে তা হল নিম্নলিখিত কোডের সাথে "আমাদের ওয়েবসাইটে স্বাগতম" পাঠ্যটি প্রতিস্থাপন করুন: {{ __('Welcome to our website') }}. এটি লারাভেলকে ডিফল্টরূপে "আমাদের ওয়েবসাইটে স্বাগতম" প্রদর্শন করতে নির্দেশ দেবেdefinite এবং এই স্ট্রিংটির অনুবাদগুলি সন্ধান করুন যদি ইংরেজি ছাড়া অন্য কোনও ভাষা সেট করা থাকে (আমরা এটি পরে পাব)। ইংরেজি ডিফল্ট ভাষা হিসেবে সেট করা হবেdefiআমাদের অ্যাপের nish, তাই ডিফল্ট সেটিং দ্বারাdefiশেষে আমরা কেবল "আমাদের ওয়েবসাইটে স্বাগতম" লেখাটি প্রদর্শন করব। লোকেল ভিন্ন হলে, আমরা মিলিত অনুবাদ খুঁজে বের করার চেষ্টা করব এবং এটি এক মুহূর্তের মধ্যে তৈরি হয়ে যাবে।

লারাভেল স্থানীয়করণ

কিন্তু লারাভেল কীভাবে জানবে যে কোনটি বর্তমান ভাষা বা কোন ভাষাগুলি অ্যাপ্লিকেশনে উপলব্ধ? এটি অ্যাপে স্থানীয় কনফিগারেশন দেখে এটি করে config/app.php. এই ফাইলটি খুলুন এবং এই দুটি সহযোগী অ্যারে কীগুলি সন্ধান করুন:

/*
|--------------------------------------------------------------------------
| Application Locale Configuration
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
| by the translation service provider. You are free to set this value
| to any of the locales which will be supported by the application.
|
*/
'locale' => 'en',
/*
|--------------------------------------------------------------------------
| Application Fallback Locale
|--------------------------------------------------------------------------
|
| The fallback locale determines the locale to use when the current one
| is not available. You may change the value to correspond to any of
| the language folders that are provided through your application.
|
*/
'fallback_locale' => 'en',

কীগুলির উপরে দেখানো বর্ণনাগুলি স্ব-ব্যাখ্যামূলক হওয়া উচিত, তবে সংক্ষেপে, কী locale স্থানীয় প্রি রয়েছেdefiআপনার আবেদনের nish (অন্তত, যদি কোডে অন্য কোন লোকেল সেট করা না থাকে)। এবং fallback_locale আমরা আমাদের অ্যাপ্লিকেশনে একটি অস্তিত্বহীন লোকেল সেট করলে এটি সক্রিয় হয়।

এই ফাইলটি খোলা থাকাকালীন, আমাদের অ্যাপ্লিকেশন সমর্থন করবে এমন সমস্ত লোকেল তালিকাভুক্ত করার জন্য আমাদের সুবিধার জন্য একটি নতুন কী যোগ করি। স্থানীয় সুইচার যোগ করার সময় আমরা এটি পরে ব্যবহার করব। যাইহোক, এটি একটি ঐচ্ছিক কাজ কারণ লারাভেল আমাদের এটি করতে হবে না।

/*
|--------------------------------------------------------------------------
| Available locales
|--------------------------------------------------------------------------
|
| List all locales that your application works with
|
*/
'available_locales' => [
  'English' => 'en',
  'Italian' => 'it',
  'French' => 'fr',
],

এখন আমাদের অ্যাপ্লিকেশন তিনটি ভাষা সমর্থন করে: ইংরেজি, ইতালীয় এবং ফরাসি।

অনুবাদ ফাইল

এখন যেহেতু আমরা সমস্ত লোকেল স্থাপন করেছি যার সাথে আমরা কাজ করব, আমরা এগিয়ে যেতে পারি এবং আমাদের প্রাক স্বাগত বার্তা অনুবাদ করতে যেতে পারিdefiরাত

ফোল্ডারে নতুন স্থানীয়করণ ফাইল যোগ করে শুরু করা যাক resources/lang. প্রথমে একটি ফাইল তৈরি করুন resources/lang/it.json এবং অনুরূপ অনুবাদ যোগ করুন, নিম্নরূপ:

{
  "Welcome to our website": "Benvenuto nel nostro sito web"
}

পরবর্তী, একটি ফাইল তৈরি করুন resources/lang/fr.json:

{

"আমাদের ওয়েব সাইটে আপনাকে স্বাগতম": "আমাদের সাইটে স্বাগতম"

}

আপনি দেখতে পাচ্ছেন, আমরা সর্বদা প্রাক বার্তা উল্লেখ করিdefinito যা আমরা ফাইলে যোগ করেছি welcome.blade.php (কোনটি ছিল {{ __('Welcome to our website') }}) যে কারণে আমাদের একটি ফাইল তৈরি করতে হবে না en.json কারণ লারাভেল ইতিমধ্যেই জানে যে কোন বার্তাগুলি আমরা প্রি-সেটিং দ্বারা পাস করি৷defiফাংশন এ সমাপ্ত __() তারা আমাদের স্থানীয় প্রাক জন্যdefinito en.

লারাভেলে স্থানীয় পরিবর্তন

এই মুহুর্তে, লারাভেল কীভাবে লোকেল পরিবর্তন করতে হয় তা জানে না, তাই আপাতত, পাথের ভিতরে সরাসরি অনুবাদগুলি করি। আগে স্বাগত পাথ পরিবর্তন করুনdefiনীচে দেখানো হিসাবে nished:

Route::get('/{locale?}', function ($locale = null) {
    if (isset($locale) && in_array($locale, config('app.available_locales'))) {
        app()->setLocale($locale);
    }
    
    return view('welcome');
});

আমরা এখন আমাদের ওয়েবসাইট পরিদর্শন করতে পারি, যেকোনও উপলব্ধ ভাষাকে প্রথম পাথ সেগমেন্ট হিসাবে উল্লেখ করে: উদাহরণস্বরূপ, localhost/rulocalhost/fr. আপনি স্থানীয় বিষয়বস্তু দেখতে হবে. যদি আপনি একটি অসমর্থিত লোকেল উল্লেখ করেন বা কোনো লোকেল উল্লেখ না করেন, তাহলে লারাভেল ব্যবহার করবে enগতানুগতিকdefiনিতা

মিডলওয়্যার

প্রতিটি সাইটের লিঙ্কের জন্য লোকেল পরিবর্তন করা আপনি যা চান তা নাও হতে পারে এবং এটি নান্দনিকভাবে পরিষ্কার নাও হতে পারে। তাই আমরা একটি বিশেষ ভাষা পরিবর্তনকারীর মাধ্যমে ভাষা সেটিং করব এবং অনুবাদিত সামগ্রী প্রদর্শন করতে ব্যবহারকারীর সেশন ব্যবহার করব। অতএব, ভিতরে একটি নতুন মিডলওয়্যার তৈরি করুন app/Http/Middleware/Localization.phpফাইল বা রান করে artisan make:middleware Localization.

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Session;

class Localization
{
    /**
    * Handle an incoming request.
    *
    * @param  \Illuminate\Http\Request  $request
    * @param  \Closure  $next
    * @return mixed
    */
    public function handle(Request $request, Closure $next)
    {
        if (Session::has('locale')) {
            App::setLocale(Session::get('locale'));
        }
        return $next($request);
    }
}

এই মিডলওয়্যারটি লারাভেলকে নির্দেশ দেবে ব্যবহারকারী নির্বাচিত লোকেল ব্যবহার করতে যদি এই নির্বাচনটি সেশনে উপস্থিত থাকে।

যেহেতু আমাদের প্রতিটি অনুরোধে এটি করা দরকার, তাই আমাদের এটিকে প্রি মিডলওয়্যার স্ট্যাকে যুক্ত করতে হবেdefiমধ্যে শেষ app/http/Kernel.phpপ্রতি ইল webমিডলওয়্যার গ্রুপ:

* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
  'web' => [
      \App\Http\Middleware\EncryptCookies::class,
      \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
      \Illuminate\Session\Middleware\StartSession::class,
      // \Illuminate\Session\Middleware\AuthenticateSession::class,
      \Illuminate\View\Middleware\ShareErrorsFromSession::class,
      \App\Http\Middleware\VerifyCsrfToken::class,
      \Illuminate\Routing\Middleware\SubstituteBindings::class,
      \App\Http\Middleware\Localization::class, /* <--- add this */
  ],

গতিপথ পরিবর্তন করুন

পরবর্তী, আমাদের লোকেল পরিবর্তন করার জন্য একটি পথ যোগ করতে হবে। আমরা একটি বন্ধ পথ ব্যবহার করছি, তবে আপনি যদি চান তবে আপনি আপনার নিয়ামকের ভিতরে ঠিক একই কোড ব্যবহার করতে পারেন:

Route::get('language/{locale}', function ($locale) {
    app()->setLocale($locale);
    session()->put('locale', $locale);

    return redirect()->back();
});

এছাড়াও, আমাদের প্রাক স্বাগত পাথে পূর্বে যোগ করা লোকেল টগলটি সরাতে ভুলবেন নাdefiরাত:

Route::get('/', function () {
    return view('welcome');
});

একবার এটি হয়ে গেলে, ব্যবহারকারীর জন্য বর্তমানে সেট করা ভাষা পরিবর্তন করার একমাত্র উপায় হল প্রবেশ করা localhost/language/{locale}। দ্য localeনির্বাচন সেশনের মধ্যে সংরক্ষণ করা হবে এবং ব্যবহারকারীরা যেখান থেকে এসেছে সেখানে পুনঃনির্দেশিত করবে (চেক করুন Localizationমিডলওয়্যার)। এটি চেষ্টা করতে, যান localhost/language/ru(যতক্ষণ আপনার সেশন কুকি আপনার ব্রাউজারে উপস্থিত থাকে) এবং আপনি অনুবাদিত সামগ্রী দেখতে পাবেন। আপনি অবাধে ওয়েবসাইটের চারপাশে ঘোরাফেরা করতে পারেন বা পৃষ্ঠাটি রিফ্রেশ করার চেষ্টা করতে পারেন এবং দেখতে পারেন যে নির্বাচিত ভাষা সংরক্ষিত আছে।

পরিবর্তনকারী

এখন আমাদের এমন কিছু তৈরি করতে হবে যা ব্যবহারকারী URL-এ স্থানীয় কোডগুলি ম্যানুয়ালি প্রবেশ করার পরিবর্তে ভাষা পরিবর্তন করতে ক্লিক করতে পারে। এটি করার জন্য, আমরা একটি খুব সাধারণ ভাষা পরীক্ষক যোগ করব। অতএব, একটি নতুন তৈরি করুন resources/views/partials/language_switcher.blade.phpনিম্নলিখিত কোড সহ ফাইল:

<div class="flex justify-center pt-8 sm:justify-start sm:pt-0">
    @foreach($available_locales as $locale_name => $available_locale)
        @if($available_locale === $current_locale)
            <span class="ml-2 mr-2 text-gray-700">{{ $locale_name }}</span>
        @else
            <a class="ml-1 underline ml-2 mr-2" href="language/{{ $available_locale }}">
                <span>{{ $locale_name }}</span>
            </a>
        @endif
    @endforeach
</div>

"স্বাগত" ভিউতে নতুন তৈরি সুইচার অন্তর্ভুক্ত করুন:

<body class="antialiased">
    <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center py-4 sm:pt-0">
        <div class="max-w-6xl mx-auto sm:px-6 lg:px-8">
            @include('partials/language_switcher')
            <div class="flex justify-center pt-8 sm:justify-start sm:pt-0">
                {{ __('Welcome to our website') }}
            </div>
        </div>
    </div>
</body>

খোলা app/Providers/AppServiceProvider.phpফাইল করুন এবং ভাগ করার জন্য কোড যোগ করুন যখন আমাদের ভাষা পরিবর্তনকারী রচনা করা হবে। বিশেষত, আমরা বর্তমান লোকেল শেয়ার করব যা একটি ফাইল হিসাবে অ্যাক্সেস করা যেতে পারে {{ $current_locale }}.

উদ্ভাবন নিউজলেটার
উদ্ভাবনের সবচেয়ে গুরুত্বপূর্ণ খবর মিস করবেন না। ইমেল দ্বারা তাদের পেতে সাইন আপ করুন.

পিএইচপি লারাভেলে উন্নত অনুবাদের বিকল্প

আমরা প্রধানত সঙ্গে কাজ করবে resources/views/welcome.blade.php, তাই সবকিছু আমাদের স্বাগত দৃশ্যে ঘটতে হবে যদি না অন্যথায় নির্দিষ্ট করা হয়।

অনুবাদ স্ট্রিং মধ্যে পরামিতি

উদাহরণস্বরূপ, আসুন শুধুমাত্র একটি জেনেরিক বার্তা প্রদর্শনের পরিবর্তে আমাদের কাল্পনিক ব্যবহারকারীকে (আমান্ডা) হ্যালো বলি:

{{ __('Welcome to our website, :Name', ['name' => 'caroline']) }}

মনে রাখবেন যে আমরা ছোট হাতের প্রথম অক্ষর দিয়ে নাম ব্যবহার করেছি, কিন্তু বড় হাতের প্রথম অক্ষর সহ স্থানধারক। এইভাবে, লারাভেল আপনাকে আসল শব্দটিকে স্বয়ংক্রিয়ভাবে বড় করতে সাহায্য করতে পারে। এটি ঘটবে যদি স্থানধারক একটি বড় হাতের অক্ষর দিয়ে শুরু হয়, উদাহরণস্বরূপ, :Name"ক্যারোলিন" বা একটি সম্পূর্ণ বড় শব্দ তৈরি করে,  :NAME, "ক্যারোলিন" উত্পাদন করে।

আমরা আমাদের অনুবাদ ফাইলগুলিও আপডেট করি resources/lang/fr.jsonresources/lang/it.json , এই মুহুর্তে আমরা যেকোন জায়গায় শুধুমাত্র ইংরেজি সংস্করণ দেখতে পাব কারণ অনুবাদ কীগুলি অনুবাদগুলির সাথে মেলে না৷

ফরাসি:

{

   "Welcome to our website, :Name": "Bienvenue sur notre site, :Name"

}

ইতালিয়ান:

{

   "Welcome to our website, :Name": "Benvenuto sul nostro sito web, :Name"

}

বহুবচন

কর্মে বহুবচন দেখতে, পাঠ্যের একটি নতুন অনুচ্ছেদ যোগ করা যাক। 

বহুবচন সম্পাদন করতে, আপনাকে অবশ্যই ফাংশনটি ব্যবহার করতে হবে trans_choice পরিবর্তে __(), উদাহরণ স্বরূপ:

{{ __('Welcome to our website, :Name', ['name' => 'caroline']) }}
<br>
{{ trans_choice('There is one apple|There are many apples', 2) }}

আপনি দেখতে পাচ্ছেন, বহুবচন ফর্মগুলি a দ্বারা বিভক্ত |.

এখন, যদি আমাদের একাধিক বহুবচন ফর্মের প্রয়োজন হয়? 

এটিও সম্ভব:

{{ trans_choice('{0} There :form no apples|{1} There :form just :count apple|[2,19] There :form :count apples', 24) }}

এই ক্ষেত্রে, আমরা সংখ্যা মঞ্জুরি 01, এবং থেকে 219, এবং অবশেষে 20 এর পর থেকে। অবশ্যই, আপনি আপনার প্রয়োজন হিসাবে অনেক নিয়ম যোগ করতে পারেন.

তাই আমরা যদি আমাদের বহুবচন আকারে স্থানধারক চাই? 

{{ trans_choice('{0} There :form no apples|{1} There :form just :count apple|[2,19] There :form :count apples', 24, ['form' => 'is']) }}

একটি স্থানধারক ব্যবহার করে প্রয়োজন হলে আমরা `ট্রান্স_চয়েস`-এ পাস করা গণনাও ব্যবহার করতে পারি :count বিশেষ:

{{ trans_choice('{0} There :form no apples|{1} There :form just :count apple|[2,19] There :form :count apples', 1, ['form' => 'is']) }}

পরিশেষে, বেস অনুবাদে আপনার করা কোনো পরিবর্তনের সাথে আপনার অনুবাদ ফাইলগুলিকে আপডেট করতে ভুলবেন না।

ইতালিয়ান:

{
  "Welcome to our website, :Name": "Benvenuto nel nostro sito, :Name",
  "{0} There :form no apples|{1} There :form just :count apple|[2,19] There :form :count apples": "{0} Nessuna mela|{1} C'è:count mela|[2,19] Ci sono :count mele"
}

ফরাসি:

{    
  "Welcome to our website, :Name": "Bienvenue sur notre site, :Name",
  "{0} There :form no apples|{1} There :form just :count apple|[2,19] There :form :count apples": "{0} Il n'y a pas de pommes|{1} Il n'y :form :count pomme|[2,19] Il y :form :count pommes"
}

লারাভেলে স্থানীয় তারিখ নিয়ে কাজ করা

তারিখগুলি সনাক্ত করতে, আমরা এর শক্তি ব্যবহার করব কারবন , যা ডিফল্টরূপে লারাভেলের সাথে আসেdefiনিতা চেক আউট কার্বন ডকুমেন্টেশন ; আপনি অনেক আকর্ষণীয় জিনিস করতে পারেন। উদাহরণস্বরূপ, আমরা তারিখ এবং সময় নিয়মের সাথে আমাদের লোকেল সেট করতে পারি।

আমাদের সাধারণ উদাহরণের জন্য, আমরা নির্বাচিত ভাষার জন্য স্থানীয়করণ করা বর্তমান তারিখটি দেখাব। আমাদের মাঝে routes/web.php, আমরা স্বাগত পৃষ্ঠার পথ আপডেট করি এবং আমাদের কাছে স্থানীয় তারিখ বার্তা পাঠাই view স্বাগত:

<?php
Route::get('/', function () {
    $today = \Carbon\Carbon::now()
        ->settings(
            [
                'locale' => app()->getLocale(),
            ]
        );

    // LL is macro placeholder for MMMM D, YYYY (you could write same as dddd, MMMM D, YYYY)
    $dateMessage = $today->isoFormat('dddd, LL');

    return view('welcome', [
        'date_message' => $dateMessage
    ]);
});

এর আপডেট করা যাক resources/views/welcome.blade.php তারিখ প্রদর্শন যোগ করা, যেমন:

{{ __('Welcome to our website, :Name', ['name' => 'amanda']) }}
<br>
{{ trans_choice('{0} There :form :count apples|{1} There :form just :count apple|[2,19] There :form :count apples', 1, ['form' => 'is']) }}
<br>
{{ $date_message }}

এর হোম পেজে ভাষা পরিবর্তন করার চেষ্টা করা হচ্ছে localhost, আমরা দেখব যে তারিখগুলি এখন স্থানীয়করণ করা হয়েছে, উদাহরণস্বরূপ:

NumberFormatter সহ সংখ্যা এবং মুদ্রা বিন্যাস করা

বিভিন্ন দেশে, লোকেরা সংখ্যার প্রতিনিধিত্ব করতে বিভিন্ন ফর্ম্যাট ব্যবহার করে, উদাহরণস্বরূপ:

  • মার্কিন যুক্তরাষ্ট্র → 123.123,12
  • ফ্রান্স → 123 123,12

অতএব, আপনার লারাভেল অ্যাপে এই পার্থক্যগুলি প্রতিফলিত করতে, আপনি ব্যবহার করতে পারেন নম্বর ফরম্যাটার নিম্নলিখিত উপায়ে:

<?php
$num = NumberFormatter::create('en_US', NumberFormatter::DECIMAL);

$num2 = NumberFormatter::create('fr', NumberFormatter::DECIMAL);

এছাড়াও আপনি একটি নির্দিষ্ট ভাষায় সংখ্যা লিখতে পারেন এবং "এক লক্ষ তেইশ হাজার একশত তেইশ পয়েন্ট এক দুই" এর মত কিছু প্রদর্শন করতে পারেন:

<?php
$num = NumberFormatter::create('en_US', NumberFormatter::SPELLOUT);
$num2 = NumberFormatter::create('fr', NumberFormatter::SPELLOUT);

উপরন্তু, NumberFormatter আপনাকে সহজেই মুদ্রাগুলি সনাক্ত করতে দেয়, উদাহরণস্বরূপ:

<?php
$currency1 = NumberFormatter::create('fr', NumberFormatter::CURRENCY);
$currency2 = NumberFormatter::create('en_US', NumberFormatter::CURRENCY);

অনেক দূরে fr আপনি ইউরো দেখতে পাবেন, যখন জন্য en_US মুদ্রা মার্কিন ডলার হবে.

Ercole Palmeri

উদ্ভাবন নিউজলেটার
উদ্ভাবনের সবচেয়ে গুরুত্বপূর্ণ খবর মিস করবেন না। ইমেল দ্বারা তাদের পেতে সাইন আপ করুন.

সাম্প্রতিক নিবন্ধ

ক্যাটানিয়া পলিক্লিনিকে অ্যাপল দর্শকের সাথে অগমেন্টেড রিয়েলিটিতে উদ্ভাবনী হস্তক্ষেপ

অ্যাপল ভিশন প্রো কমার্শিয়াল ভিউয়ার ব্যবহার করে ক্যাটানিয়া পলিক্লিনিকে একটি চক্ষুরোগ অপারেশন করা হয়েছিল...

3 মে 2024

শিশুদের জন্য রঙিন পৃষ্ঠাগুলির উপকারিতা - সব বয়সের জন্য একটি জাদু বিশ্ব

রঙের মাধ্যমে সূক্ষ্ম মোটর দক্ষতার বিকাশ শিশুদের লেখার মতো জটিল দক্ষতার জন্য প্রস্তুত করে। রঙ…

2 মে 2024

ভবিষ্যত এখানে: শিপিং শিল্প কীভাবে বৈশ্বিক অর্থনীতিতে বিপ্লব ঘটাচ্ছে

নৌ সেক্টর একটি সত্যিকারের বৈশ্বিক অর্থনৈতিক শক্তি, যা 150 বিলিয়ন বাজারের দিকে নেভিগেট করেছে...

1 মে 2024

প্রকাশকরা এবং OpenAI কৃত্রিম বুদ্ধিমত্তা দ্বারা প্রক্রিয়াকৃত তথ্যের প্রবাহ নিয়ন্ত্রণ করতে চুক্তি স্বাক্ষর করে

গত সোমবার, ফাইন্যান্সিয়াল টাইমস ওপেনএআই-এর সাথে একটি চুক্তি ঘোষণা করেছে। FT তার বিশ্বমানের সাংবাদিকতার লাইসেন্স দেয়...

30 এপ্রিল 2024

আপনার ভাষায় উদ্ভাবন পড়ুন

উদ্ভাবন নিউজলেটার
উদ্ভাবনের সবচেয়ে গুরুত্বপূর্ণ খবর মিস করবেন না। ইমেল দ্বারা তাদের পেতে সাইন আপ করুন.

আমাদের অনুসরণ