مقالات

Laravel لوڪلائيزيشن قدم بہ قدم ھدايت، مثالن سان گڏ سبق

Laravel پروجيڪٽ کي ڪيئن مقامي بڻايو وڃي، Laravel ۾ پروجيڪٽ کي ڪيئن ڊولپ ڪجي ۽ ان کي ڪيترن ئي ٻولين ۾ استعمال لائق بڻايو وڃي. هن آرٽيڪل ۾ اسين ڏسون ٿا ته ڪيئن ڪم ڪجي ترجمي واري فائلن سان، هڪ ٻولي مٽائيندڙ ٺاهيو ۽ وڌيڪ مثالن سان.

Laravel هڪ ايپليڪيشن آهي جيڪا مقامي هجڻ لاءِ ٺهيل آهي، مختلف ٻولين ۽ ثقافتن کي اپنائڻ لاءِ. لوڪلائيزيشن بين الاقوامي ايپليڪيشنن کي ترجمي ذريعي هڪ مخصوص ٻولي ۾ ترتيب ڏئي ٿو.

(Objective)

  • هن مقالي ۾ اسان جو حوالو ڏينداسين Laravel نسخو 8.x;
  • ڪاميابيءَ سان ھن سبق جي پيروي ڪرڻ لاءِ، توھان کي PHP پروگرامنگ ٻولي ۽ Laravel فريم ورڪ جي ضروري ڄاڻ ھجڻ گھرجي.
  • توھان جو ڊومين آھي localhost. جيڪڏهن نه، تبديل ڪريو localhost توهان جي پنهنجي ڊومين جو نالو يا IP پتي سان (توهان جي انسٽاليشن تي منحصر آهي).

ترجمو فائلن سان ڪم

Laravel ۾، ٻين ڪيترن ئي فريم ورڪ وانگر، اسين مختلف ٻولين لاءِ ترجمي کي الڳ فائلن ۾ محفوظ ڪري سگھون ٿا. Laravel ترجمو فائلن کي منظم ڪرڻ جا ٻه طريقا آهن:

  • ھڪڙو پراڻو طريقو جيڪو ھيٺ ڏنل جڳھ ۾ فائلن کي ذخيرو ڪري ٿو. resources/lang/{en,fr,ru}/{myfile.php};
  • ھڪڙو نئون طريقو جيڪو ھيٺ ڏنل جڳھ ۾ فائلن کي ذخيرو ڪري ٿو. resources/lang/{fr.json, ru.json};

انهن ٻولين لاءِ جيڪي علائقي جي لحاظ کان مختلف آهن، توهان کي انهن جو نالو ڏيڻ گهرجي directory/file ISO 15897 جي مطابق ٻولي. مثال طور، UK انگريزي لاءِ توهان استعمال ڪندا 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>

اسان شروع ڪنداسين اسان جي لوڪلائيزيشن خوش آمديد پيغام، جيڪو Laravel ۾ واقعي آسان آهي. توهان کي صرف اهو ڪرڻو آهي ته هيٺ ڏنل ڪوڊ سان "اسان جي ويب سائيٽ تي ڀليڪار" متن کي تبديل ڪريو. {{ __('Welcome to our website') }}. هي لاراول کي هدايت ڪندو ته "اسان جي ويب سائيٽ تي ڀلي ڪري آيا" ڊفالٽ طور ڏيکاريdefinita ۽ ھن اسٽرنگ جي ترجمي لاءِ ڏسو جيڪڏھن انگريزي کان سواءِ ڪا ٻي ٻولي ٺھيل آھي (اسان ان کي بعد ۾ حاصل ڪنداسين). انگريزي کي ڊفالٽ ٻولي طور مقرر ڪيو ويندوdefiاسان جي ايپ جي رات، تنهن ڪري ڊفالٽ طورdefinita اسان صرف متن ڏيکارينداسين "اسان جي ويب سائيٽ تي ڀلي ڪري آيا". جيڪڏهن جڳهه مختلف آهي، اسان لاڳاپيل ترجمي کي ڳولڻ جي ڪوشش ڪنداسين جيڪا هڪ لمحي ۾ ٺاهي ويندي.

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 اڳئين ڪمري تي مشتمل آهيdefiتوهان جي اپليڪيشن جي رات (گهٽ ۾ گهٽ، جيڪڏهن ڪوڊ ۾ ڪو ٻيو لوڪل مقرر نه ڪيو ويو آهي). ۽ جي 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:

{

"اسان جي ويب سائيٽ تي ڀليڪار": "اسان جي سائيٽ تي ڀليڪار"

}

جئين توهان ڏسي سگهو ٿا، اسان هميشه اڳئين پيغام ڏانهن اشارو ڪندا آهيونdefinite جيڪو اسان فائل ۾ شامل ڪيو welcome.blade.php (جيڪو هيو {{ __('Welcome to our website') }}). اهو ئي سبب آهي ته اسان کي فائل ٺاهڻ جي ضرورت ناهي en.json اهو ئي سبب آهي ته Laravel اڳ ۾ ئي ڄاڻي ٿو ته ڪهڙا پيغام اسان اڳ ۾ سيٽنگ ذريعي گذريا آهنdefiفنڪشن سان ختم __() اهي اسان جي مقامي اڳوڻن لاء آهنdefinito 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نيتا

وچويئر

هر سائيٽ جي لنڪ لاءِ لوڪل کي تبديل ڪرڻ شايد اهو نه هجي جيڪو توهان چاهيو ٿا، ۽ اهو ٿي سگهي ٿو صاف جمالياتي طور تي نظر نٿو اچي. ان ڪري اسان ٻوليءَ جي سيٽنگ کي خاص ٻولي مٽائيندڙ ذريعي ڪنداسين ۽ ترجمو ڪيل مواد کي ڊسپلي ڪرڻ لاءِ استعمال ڪندڙ سيشن استعمال ڪنداسين. تنهن ڪري، اندر هڪ نئون مڊل ويئر ٺاهيو 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);
    }
}

هي مڊل ويئر Laravel کي هدايت ڪندو ته صارف جي چونڊيل لوڪل کي استعمال ڪرڻ لاءِ جيڪڏهن هي چونڊ سيشن ۾ موجود آهي.

جيئن ته اسان کي هر درخواست تي هن آپريشن کي انجام ڏيڻ جي ضرورت آهي، اسان کي ان کي اڳي مڊل ويئر اسٽيڪ ۾ شامل ڪرڻ جي ضرورت آهيdefiاندر داخل ٿيو app/http/Kernel.phpفي il 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 }}.

جدت نيوز ليٽر
جدت تي سڀ کان اهم خبر نه وڃايو. انهن کي اي ميل ذريعي حاصل ڪرڻ لاء سائن اپ ڪريو.

PHP Laravel ۾ ترقي يافته ترجمي جا اختيار

اسان بنيادي طور تي ڪم ڪنداسين resources/views/welcome.blade.php، تنهنڪري هر شي اسان جي استقبال واري ڏيک ۾ ٿيڻ گهرجي جيستائين ٻي صورت ۾ بيان نه ڪيو وڃي.

ترجمي جي تارن ۾ پيرا ميٽر

مثال طور، اچو ته اسان جي خيالي استعمال ڪندڙ کي هيلو چئو (Amanda) بجاء صرف هڪ عام پيغام ڏيکاري:

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

نوٽ ڪريو ته اسان نالو استعمال ڪيو آھي پھريون اکر ننڍي اکر ۾، پر جڳھ ھولڊر پھريون اکر وڏي اکر سان. اهو طريقو، Laravel توهان جي مدد ڪري سگهي ٿو خودڪار طريقي سان حقيقي لفظ کي سرمائيداري ڪرڻ. اهو تڏهن ٿيندو جڏهن جڳهه هولڊر هڪ وڏي اکر سان شروع ٿئي، مثال طور، :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']) }}

اسان پڻ استعمال ڪري سگھون ٿا ڳڻپ پاس ٿيل `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 ۾ مقامي تاريخن سان ڪم ڪرڻ

تاريخن کي ڳولڻ لاء، اسان جي طاقت کي استعمال ڪنداسين ڪاربن ، جيڪو ڊفالٽ سان 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، اسان ڏسنداسين ته تاريخون هاڻي مقامي آهن، مثال طور:

نمبر فارميٽ سان نمبرن ۽ ڪرنسي کي فارميٽ ڪرڻ

مختلف ملڪن ۾، ماڻهو انگن جي نمائندگي ڪرڻ لاءِ مختلف فارميٽ استعمال ڪندا آهن، مثال طور:

  • گڏيل رياستون → 123.123,12
  • فرانس → 123 123,12

تنهن ڪري، توهان جي Laravel ايپ ۾ انهن اختلافن کي ظاهر ڪرڻ لاء، توهان استعمال ڪري سگهو ٿا نمبر فارميٽر هيٺين طريقي سان:

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

جدت نيوز ليٽر
جدت تي سڀ کان اهم خبر نه وڃايو. انهن کي اي ميل ذريعي حاصل ڪرڻ لاء سائن اپ ڪريو.

تازيون مضمونون

ٻارن لاءِ رنگين صفحن جا فائدا - سڀني عمرن لاءِ جادوءَ جي دنيا

رنگ سازي ذريعي سٺي موٽر صلاحيتن کي ترقي ڪرڻ ٻارن کي وڌيڪ پيچيده صلاحيتن لاء تيار ڪري ٿو جهڙوڪ لکڻ. رنگ ڏيڻ…

2 2024

مستقبل هتي آهي: ڪيئن شپنگ انڊسٽري عالمي معيشت ۾ انقلاب آڻيندي آهي

بحري شعبي هڪ حقيقي عالمي معاشي طاقت آهي، جيڪا 150 بلين مارڪيٽ جي طرف نيويگيٽ ڪئي آهي ...

1 2024

پبلشرز ۽ OpenAI مصنوعي ذهانت پاران پروسيس ڪيل معلومات جي وهڪري کي منظم ڪرڻ لاءِ معاهدن تي دستخط ڪن ٿا

گذريل سومر، فنانشل ٽائمز OpenAI سان هڪ ڊيل جو اعلان ڪيو. ايف ٽي پنهنجي عالمي سطح جي صحافت کي لائسنس ڏئي ٿو ...

30 اپريل 2024

آن لائين ادائگيون: ھتي آھي ڪيئن اسٽريمنگ سروسز توھان کي ھميشه لاءِ ادا ڪنديون آھن

لکين ماڻهو ادا ڪن ٿا اسٽريمنگ سروسز لاءِ، ادا ڪندا مھينا سبسڪرپشن فيس. اها عام راءِ آهي ته توهان…

29 اپريل 2024

پنھنجي ٻوليءَ ۾ جدت پڙھو

جدت نيوز ليٽر
جدت تي سڀ کان اهم خبر نه وڃايو. انهن کي اي ميل ذريعي حاصل ڪرڻ لاء سائن اپ ڪريو.

اسان جي تابعداري ڪريو