ဆောင်းပါးများ

Laravel localization အဆင့်ဆင့်လမ်းညွှန်၊ နမူနာများဖြင့် သင်ခန်းစာ

Laravel ပရောဂျက်တစ်ခုကို ဒေသစံသတ်မှတ်ပုံ၊ Laravel တွင် ပရောဂျက်တစ်ခုကို တီထွင်နည်းနှင့် ၎င်းကို ဘာသာစကားများစွာဖြင့် အသုံးပြုနိုင်အောင် ပြုလုပ်နည်း။ ဤဆောင်းပါးတွင် ဘာသာပြန်ဖိုင်များနှင့် အလုပ်လုပ်ပုံ၊ ဘာသာစကားပြောင်းသည့်ကိရိယာကို ဖန်တီးခြင်းနှင့် အခြားအရာများကို ဥပမာများဖြင့် ကြည့်နိုင်ပါသည်။

Laravel သည် အမျိုးမျိုးသော ဘာသာစကားများနှင့် ယဉ်ကျေးမှုများကို လိုက်လျောညီထွေဖြစ်စေရန် ဒေသန္တရဖြစ်ရန် ဒီဇိုင်းထုတ်ထားသော အက်ပ်တစ်ခုဖြစ်သည်။ Localization သည် ဘာသာပြန်ခြင်းဖြင့် နိုင်ငံတကာမှ အသုံးချမှုများကို သီးခြားဘာသာစကားတစ်ခုသို့ ညှိပေးသည်။

ရှေးဉီးလိုအပျခကျြ

  • ဤဆောင်းပါးတွင်ကျွန်ုပ်တို့ကိုးကားပါမည်။ Laravel ဗားရှင်း 8.x;
  • ဤသင်ခန်းစာကို အောင်မြင်စွာလိုက်နာရန်၊ သင်သည် PHP ပရိုဂရမ်းမင်းဘာသာစကားနှင့် Laravel framework ဆိုင်ရာ လိုအပ်သောအသိပညာရှိရန် လိုအပ်သည်။
  • မင်းရဲ့ဒိုမိန်းက localhost. မဟုတ်ပါက အစားထိုးပါ။ localhost သင့်ကိုယ်ပိုင် ဒိုမိန်းအမည် သို့မဟုတ် IP လိပ်စာဖြင့် (သင့်ထည့်သွင်းမှုအပေါ် မူတည်သည်)။

ဘာသာပြန်ဖိုင်များနှင့်အတူအလုပ်လုပ်

Laravel တွင်၊ အခြားသောဘောင်များကဲ့သို့ပင်၊ ကျွန်ုပ်တို့သည် မတူညီသောဘာသာစကားများအတွက် ဘာသာပြန်ဆိုချက်များကို သီးခြားဖိုင်များတွင် သိမ်းဆည်းနိုင်ပါသည်။ Laravel ဘာသာပြန်ဖိုင်များကို စုစည်းရန် နည်းလမ်းနှစ်ခုရှိသည်။

  • အောက်ပါတည်နေရာတွင် ဖိုင်များကိုသိမ်းဆည်းသည့် ချဉ်းကပ်နည်းဟောင်းတစ်ခု။ resources/lang/{en,fr,ru}/{myfile.php};
  • အောက်ပါတည်နေရာတွင် ဖိုင်များကို သိမ်းဆည်းသည့် ချဉ်းကပ်မှုအသစ်။ resources/lang/{fr.json, ru.json};

နယ်မြေအလိုက် ကွဲပြားသော ဘာသာစကားများအတွက် ၎င်းတို့ကို အမည်ပေးသင့်သည်။ directory/file ISO 15897 အရ ဘာသာစကား၏။ ဥပမာအားဖြင့်၊ UK English အတွက် သင်အသုံးပြုမည့် en_GB အစား en-gb. ဤဆောင်းပါးတွင်၊ ကျွန်ုပ်တို့သည် ဒုတိယနည်းလမ်းကို အာရုံစိုက်ပါမည်၊ သို့သော် ပထမနည်းလမ်း (ဘာသာပြန်သော့များကို မည်သို့အမည်ပေးပြီး ပြန်လည်ရယူသည်မှလွဲ၍) ပထမနှင့် အတူတူပင်ဖြစ်သည်။ 

ရိုးရှင်းသောဘာသာပြန်များ

ကဲ၊ သွားကြရအောင် resources/views/welcome.blade.phpဖိုင်နှင့် အကြောင်းအရာများကို အစားထိုးပါ။ bodyဤကဲ့သို့သော ကျွန်ုပ်တို့၏အမည်ဖြင့် tag

<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>

Laravel တွင် အမှန်တကယ်လွယ်ကူသော ကျွန်ုပ်တို့၏ဒေသခံအဖြစ်ပြောင်းလဲခြင်းကြိုဆိုရေးမက်ဆေ့ဂျ်ကို ပြင်ဆင်ခြင်းဖြင့် စတင်ပါမည်။ သင်လုပ်ရမှာက “ကျွန်ုပ်တို့၏ဝဘ်ဆိုဒ်မှကြိုဆိုပါတယ်” စာသားကို အောက်ပါကုဒ်ဖြင့် အစားထိုးပါ။ {{ __('Welcome to our website') }}. ၎င်းက Laravel ကို မူရင်းအတိုင်း “Welcome to our website” ကို ပြသရန် ညွှန်ကြားမည်ဖြစ်သည်။definite နှင့် အင်္ဂလိပ်မဟုတ်သော အခြားဘာသာစကားတစ်ခုကို သတ်မှတ်ပါက ဤစာကြောင်း၏ဘာသာပြန်ဆိုချက်များကို ရှာပါ (ကျွန်ုပ်တို့ထိုသို့နောက်မှရပါမည်)။ အင်္ဂလိပ်ကို မူရင်းဘာသာစကားအဖြစ် သတ်မှတ်ပါမည်။defiကျွန်ုပ်တို့၏ app ၏ nish၊ ထို့ကြောင့် default setting အားဖြင့်defiအဆုံးတွင် "ကျွန်ုပ်တို့၏ဝဘ်ဆိုဒ်မှကြိုဆိုပါတယ်" ဟူသောစာသားကိုပြလိမ့်မည်။ နေရာဒေသ ကွဲပြားပါက၊ ကျွန်ုပ်တို့သည် လိုက်ဖက်သော ဘာသာပြန်ကို ရှာတွေ့မည်ဖြစ်ပြီး ၎င်းကို ခဏအတွင်း ဖန်တီးပါမည်။

Laravel Localization

သို့သော် Laravel သည် လက်ရှိဘာသာစကား သို့မဟုတ် မည်သည့်ဘာသာစကားများ အက်ပ်တွင်ရနိုင်သည်ကို မည်သို့သိနိုင်သနည်း။ အက်ပ်ရှိ ဒေသန္တရဖွဲ့စည်းပုံပုံစံကို ကြည့်ရှုခြင်းဖြင့် ၎င်းကို လုပ်ဆောင်သည်။ 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 local pre ပါရှိပါတယ်။defiသင့်အပလီကေးရှင်း၏ nish (အနည်းဆုံး၊ အခြားဒေသန္တရကိုကုဒ်တွင်မသတ်မှတ်ထားပါက)။ ပြီးနောက် fallback_locale ကျွန်ုပ်တို့၏ အပလီကေးရှင်းတွင် တည်ရှိခြင်းမရှိသော ဒေသန္တရကို သတ်မှတ်သည့်အခါ ၎င်းကို အသက်ဝင်စေပါသည်။

ကျွန်ုပ်တို့တွင် ဤဖိုင်ကို ဖွင့်ထားစဉ်၊ ကျွန်ုပ်တို့၏ အပလီကေးရှင်းမှ ပံ့ပိုးပေးမည့် ဒေသအားလုံးကို စာရင်းပြုစုရန်အတွက် ကျွန်ုပ်တို့၏ အဆင်ပြေစေမည့် သော့အသစ်တစ်ခုကို ထည့်ကြပါစို့။ စက်တွင်းခလုတ်ကို ထည့်သည့်အခါ ၎င်းကို နောက်ပိုင်းတွင် အသုံးပြုပါမည်။ သို့သော်လည်း Laravel က ကျွန်ုပ်တို့ကို လုပ်ဆောင်ရန် မလိုအပ်သောကြောင့် ၎င်းသည် ရွေးချယ်နိုင်သော အလုပ်တစ်ခုဖြစ်သည်။

/*
|--------------------------------------------------------------------------
| 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:

{

"ကျွန်ုပ်တို့၏ ဝဘ်ဆိုဒ်မှ ကြိုဆိုပါတယ်" "ကျွန်ုပ်တို့၏ဆိုဒ်မှကြိုဆိုပါတယ်"

}

သင်တွေ့မြင်ရသည့်အတိုင်း ကျွန်ုပ်တို့သည် ကြိုတင်သတင်းစကားကို အမြဲရည်ညွှန်းပါသည်။defiဖိုင်ထဲမှာ ထည့်ထားတဲ့ nito ပါ။ welcome.blade.php (အဲဒါ {{ __('Welcome to our website') }}) အဘယ်ကြောင့်ဆိုသော် ကျွန်ုပ်တို့သည် ဖိုင်တစ်ခုဖန်တီးရန် မလိုအပ်ပါ။ en.json ဘာကြောင့်လဲဆိုတော့ Laravel က ဘယ်စာတွေကို ကြိုတင်သတ်မှတ်ထားလဲဆိုတာ သိပြီးသားမို့ပါ။defifunction ပြီးသွားတယ်။ __() သူတို့က ငါတို့ပြည်တွင်းအကြိုအတွက်ပါ။defiနီတို en

Laravel တွင် ပြည်တွင်းပြောင်းလဲမှု

ဤအချိန်တွင် Laravel သည် ဒေသန္တရများကို မည်သို့ပြောင်းလဲရမည်ကို မသိသောကြောင့် ယခုတွင်၊ လမ်းကြောင်းအတွင်း တိုက်ရိုက်ဘာသာပြန်ဆိုမှုများ ပြုလုပ်ကြပါစို့။ ကြိုဆိုရေးလမ်းကြောင်းကို ကြိုတင်ပြင်ဆင်ပါ။defiအောက်တွင်ပြထားသည့်အတိုင်း ပြီးဆုံးသည်-

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. ဒေသန္တရအကြောင်းအရာကို သင်မြင်ရပါမည်။ ပံ့ပိုးမထားသော ဒေသတစ်ခုအား သင်သတ်မှတ်ခြင်း သို့မဟုတ် ဒေသတစ်ခုအား လုံး၀မသတ်မှတ်ပါက Laravel ကို အသုံးပြုပါမည်။ enပုံသေdefiနီတာ

Middleware

ဝဘ်ဆိုက်လင့်ခ်တစ်ခုစီအတွက် ဒေသန္တရကို ပြောင်းခြင်းက သင်လိုချင်သည့်အရာ မဟုတ်နိုင်သလို သန့်ရှင်းသပ်ရပ်ပုံမပေါ်ပေ။ ထို့ကြောင့် ကျွန်ုပ်တို့သည် အထူးဘာသာစကားပြောင်းသည့်ကိရိယာမှတစ်ဆင့် ဘာသာစကားဆက်တင်ကို လုပ်ဆောင်မည်ဖြစ်ပြီး ဘာသာပြန်ထားသောအကြောင်းအရာကိုပြသရန် အသုံးပြုသူစက်ရှင်ကို အသုံးပြုမည်ဖြစ်သည်။ ထို့ကြောင့်၊ အတွင်းတွင် အလယ်တန်းဆော့ဖ်ဝဲအသစ်တစ်ခုကို ဖန်တီးပါ။ app/Http/Middleware/Localization.phpဖိုင် သို့မဟုတ် run ခြင်းဖြင့် 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);
    }
}

ဤရွေးချယ်မှုသည် စက်ရှင်တွင်ရှိနေပါက အသုံးပြုသူရွေးချယ်ထားသောဒေသကိုအသုံးပြုရန် ဤအလယ်တန်းဆော့ဖ်ဝဲသည် Laravel ကို ညွှန်ကြားမည်ဖြစ်သည်။

တောင်းဆိုမှုတိုင်းတွင် ၎င်းကိုလုပ်ဆောင်ရန် လိုအပ်သောကြောင့်၊ ၎င်းကို pre middleware stack တွင် ထည့်သွင်းရန် လိုအပ်ပါသည်။defiပြီးပါပြီ။ app/http/Kernel.phpil နှုန်း webMiddleware အုပ်စု-

* 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}။ The localeရွေးချယ်မှုကို စက်ရှင်အတွင်း သိမ်းဆည်းထားမည်ဖြစ်ပြီး အသုံးပြုသူများကို ၎င်းတို့ထံမှ ရောက်ရှိလာသည့်နေရာသို့ ပြန်လည်ညွှန်းပေးမည် (ထိုအရာကို စစ်ဆေးပါ။ Localizationအလယ်တန်းဆော့ဖ်ဝဲ)။ စမ်းကြည့်ရန်၊ သွားပါ။ localhost/language/ru(သင်၏ session cookie သည် သင့်ဘရောက်ဆာတွင် ရှိနေသရွေ့) နှင့် ဘာသာပြန်ထားသော အကြောင်းအရာကို သင်မြင်ရပါမည်။ ဝဘ်ဆိုက်ကို လွတ်လပ်စွာ ရွှေ့နိုင်သည် သို့မဟုတ် စာမျက်နှာကို ပြန်လည်ဆန်းသစ်ရန် ကြိုးစားပြီး ရွေးချယ်ထားသော ဘာသာစကားကို ထိန်းသိမ်းထားကြောင်း တွေ့နိုင်သည်။

လမ်းပြောင်းသူ

ယခု ကျွန်ုပ်တို့သည် 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ကျွန်ုပ်တို့၏ဘာသာစကား switcher ကိုဖွဲ့စည်းသည့်အခါမျှဝေရန်ကုဒ်ကိုဖိုင်နှင့်ထည့်ပါ။ အတိအကျအားဖြင့်၊ ကျွန်ုပ်တို့သည် ဖိုင်တစ်ခုအဖြစ် ဝင်ရောက်နိုင်သည့် လက်ရှိဒေသကို မျှဝေပါမည်။ {{ $current_locale }}.

ဆန်းသစ်တီထွင်မှုသတင်းလွှာ
ဆန်းသစ်တီထွင်မှုဆိုင်ရာ အရေးကြီးဆုံးသတင်းများကို လက်လွတ်မခံပါနဲ့။ ၎င်းတို့ကို အီးမေးလ်ဖြင့် လက်ခံရန် စာရင်းသွင်းပါ။

PHP Laravel တွင် အဆင့်မြင့်ဘာသာပြန်ရွေးချယ်စရာများ

အဓိကအားဖြင့် လုပ်ဆောင်သွားမှာပါ။ resources/views/welcome.blade.phpထို့ကြောင့် အခြားနည်းဖြင့် မသတ်မှတ်ထားလျှင် အရာအားလုံးသည် ကျွန်ုပ်တို့၏ကြိုဆိုမှုမြင်ကွင်းတွင် ဖြစ်ရပါမည်။

ဘာသာပြန်စာတန်းများတွင် ကန့်သတ်ချက်များ

ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့၏ စိတ်ကူးယဉ်အသုံးပြုသူ (Amanda) ကို ယေဘူယျ မက်ဆေ့ချ်ကို ပြသမည့်အစား နှုတ်ဆက်လိုက်ကြပါစို့။

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

စာလုံးအသေးဖြင့် ပထမစာလုံးဖြင့် နာမည်ကို အသုံးပြုထားသော်လည်း ပထမစာလုံးကို စာလုံးအကြီးဖြင့် နေရာယူထားသည်ကို သတိပြုပါ။ ဤနည်းဖြင့် Laravel သည် သင့်အား အမှန်တကယ်စကားလုံးကို အလိုအလျောက် စာလုံးကြီးဖြစ်အောင် ကူညီပေးနိုင်သည်။ နေရာယူသူသည် ဥပမာအားဖြင့် စာလုံးကြီးဖြင့် စတင်ပါက၊ :Name“Caroline” သို့မဟုတ် စာလုံးကြီးအပြည့်ဖြင့် ထုတ်လုပ်သည်။  :NAME"CAROLINE" ကိုထုတ်လုပ်သည်။

ကျွန်ုပ်တို့၏ ဘာသာပြန်ဖိုင်များကိုလည်း အပ်ဒိတ်လုပ်ပါသည်။ 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 မှစတင်။ ဟုတ်ပါတယ်၊ သင်လိုအပ်သလောက် စည်းကမ်းတွေကို ထည့်နိုင်ပါတယ်။

ထို့ကြောင့် ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ အများကိန်းပုံစံများတွင် placeholder ကို လိုချင်ပါက၊ 

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

နေရာထိန်းကိရိယာကို အသုံးပြု၍ လိုအပ်ပါက `trans_choice` တွင် ဖြတ်သွားသော အရေအတွက်ကိုလည်း အသုံးပြုနိုင်သည်။ :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"
}

Laravel တွင် ဒေသစံသတ်မှတ်ထားသော ရက်စွဲများဖြင့် အလုပ်လုပ်ခြင်း။

ရက်စွဲများကိုရှာဖွေရန်၊ ကျွန်ုပ်တို့သည် စွမ်းအားကို အသုံးချပါမည်။ ကာဗွန် Default အနေဖြင့် Laravel နှင့် ပါရှိသည်။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

ထို့ကြောင့် သင်၏ Laravel အက်ပ်တွင် ဤကွဲပြားမှုများကို ထင်ဟပ်စေရန်၊ သင်သည် အသုံးပြုနိုင်သည်။ NumberFormatter အောက်ပါနည်းလမ်းဖြင့်

<?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 ငွေကြေးသည် US ဒေါ်လာဖြစ်လိမ့်မည်။

Ercole Palmeri

ဆန်းသစ်တီထွင်မှုသတင်းလွှာ
ဆန်းသစ်တီထွင်မှုဆိုင်ရာ အရေးကြီးဆုံးသတင်းများကို လက်လွတ်မခံပါနဲ့။ ၎င်းတို့ကို အီးမေးလ်ဖြင့် လက်ခံရန် စာရင်းသွင်းပါ။

မကြာသေးမီဆောင်းပါးများ

ကလေးများအတွက် အရောင်ခြယ်စာမျက်နှာများ၏ အကျိုးကျေးဇူးများ - အသက်အရွယ်တိုင်းအတွက် မှော်ပညာကမ္ဘာ

ဆေးရောင်ခြယ်ခြင်းမှတစ်ဆင့် ကောင်းမွန်သော မော်တာစွမ်းရည်ကို ပြုစုပျိုးထောင်ခြင်းသည် ကလေးများကို စာရေးခြင်းကဲ့သို့ ပိုမိုရှုပ်ထွေးသောစွမ်းရည်များအတွက် ပြင်ဆင်ပေးသည်။ အရောင်ခြယ်ရန်…

2 မေလ 2024

အနာဂတ်သည် ဤနေရာတွင်- သင်္ဘောလုပ်ငန်းသည် ကမ္ဘာလုံးဆိုင်ရာစီးပွားရေးကို တော်လှန်နေပုံ

ရေတပ်ကဏ္ဍသည် ကမ္ဘာလုံးဆိုင်ရာ စီးပွားရေးအင်အားကြီးဖြစ်ပြီး၊ ဘီလီယံ ၁၅၀ ရှိသော စျေးကွက်ဆီသို့ လျှောက်လှမ်းနေသော...

1 မေလ 2024

ထုတ်ဝေသူများနှင့် OpenAI တို့သည် Artificial Intelligence ဖြင့် လုပ်ဆောင်သော သတင်းအချက်အလက်စီးဆင်းမှုကို ထိန်းညှိရန် သဘောတူညီချက်များကို လက်မှတ်ရေးထိုးကြသည်။

ပြီးခဲ့သည့်တနင်္လာနေ့တွင် Financial Times သည် OpenAI နှင့်သဘောတူညီချက်တစ်ခုကြေငြာခဲ့သည်။ FT သည် ၎င်း၏ ကမ္ဘာ့အဆင့်မီ သတင်းစာပညာကို လိုင်စင်ထုတ်ပေးသည်...

ဧပြီလ 30 2024

အွန်လိုင်းငွေပေးချေမှုများ- ဤတွင် Streaming ဝန်ဆောင်မှုများသည် သင့်အား ထာဝစဉ်ပေးဆောင်စေသည်

သန်းပေါင်းများစွာသောလူများသည် streaming ဝန်ဆောင်မှုများအတွက်ပေးဆောင်ပြီးလစဉ်စာရင်းသွင်းမှုအခကြေးငွေပေးဆောင်သည်။ အများအမြင်မှာ သင်...

ဧပြီလ 29 2024

သင့်ဘာသာစကားဖြင့် ဆန်းသစ်တီထွင်မှုကို ဖတ်ပါ။

ဆန်းသစ်တီထွင်မှုသတင်းလွှာ
ဆန်းသစ်တီထွင်မှုဆိုင်ရာ အရေးကြီးဆုံးသတင်းများကို လက်လွတ်မခံပါနဲ့။ ၎င်းတို့ကို အီးမေးလ်ဖြင့် လက်ခံရန် စာရင်းသွင်းပါ။

နောက်ဆက်တွဲကျွန်တော်တို့ကို

မကြာသေးမီဆောင်းပါးများ

tag ကို

ကလေးစရိတ် ဆိုက်ဘာတိုက်ခိုက်မှု blockchain chatbot ချတ် gpt မိုဃ်းတိမ်ကို cloud computing အကြောင်းအရာစျေးကွက် ဆိုက်ဘာတိုက်ခိုက်မှု ဆိုက်ဘာလုံခြုံရေး စားသုံးသူမှန်တယ်။ အီလက်ထရောနစ်ကူးသန်းရောင်း နေပြည်တော် ဆန်းသစ်တီထွင်မှုဖြစ်ရပ် gianfranco fedele google သြဇာလွှမ်းမိုးမှု သစ်လွင်မှု ငွေကြေးဆိုင်ရာ ဆန်းသစ်တီထွင်မှု incremental ဆန်းသစ်တီထွင်မှု ဆေးဘက်ဆိုင်ရာဆန်းသစ်တီထွင်မှု ဆန်းသစ်တီထွင်မှု ရေရှည်တည်တံ့ရေး နည်းပညာဆန်းသစ်တီထွင်မှု အတုထောက်လှမ်းရေး IOT စက်သင်ယူ metaverse microsoft nft ကွင်းထဲတွင် လူသားမရှိပါ။ php ပြန်ကြားချက် စက်ရုပ် seo SERP ဆော့ဖျဝဲ software ဒီဇိုင်း software development Software များအင်ဂျင်နီယာ ရေရှည်တည်တံ့မှု startup Thales သင်ခန်းစာ VPN web3