مضامین

Laravel لوکلائزیشن مرحلہ وار گائیڈ، مثالوں کے ساتھ سبق

لاریول پروجیکٹ کو کیسے لوکلائز کیا جائے، لاریول میں پروجیکٹ کیسے تیار کیا جائے اور اسے متعدد زبانوں میں قابل استعمال بنایا جائے۔ اس مضمون میں ہم دیکھتے ہیں کہ ترجمے کی فائلوں کے ساتھ کیسے کام کیا جائے، لینگویج سوئچر بنائیں اور مزید مثالوں کے ساتھ۔

Laravel ایک ایسی ایپلی کیشن ہے جسے مقامی ہونے کے لیے، مختلف زبانوں اور ثقافتوں کو اپنانے کے لیے ڈیزائن کیا گیا ہے۔ لوکلائزیشن ترجمے کے ذریعے ایک مخصوص زبان میں بین الاقوامی ایپلی کیشنز کو تیار کرتی ہے۔

ماقبل مطالبات

  • اس مضمون میں ہم حوالہ دیں گے۔ Laravel ورژن 8.x;
  • اس ٹیوٹوریل کو کامیابی کے ساتھ فالو کرنے کے لیے، آپ کو پی ایچ پی پروگرامنگ لینگویج اور لاریول فریم ورک کا ضروری علم ہونا چاہیے۔
  • آپ کا ڈومین ہے۔ localhost. اگر نہیں تو بدل دیں۔ localhost آپ کے اپنے ڈومین نام یا IP پتے کے ساتھ (آپ کی تنصیب پر منحصر ہے)۔

ترجمہ فائلوں کے ساتھ کام کرنا

Laravel میں، بالکل دوسرے فریم ورک کی طرح، ہم مختلف زبانوں کے ترجمے کو الگ فائلوں میں محفوظ کر سکتے ہیں۔ 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>

ہم اپنا لوکلائزیشن ویلکم میسج تیار کرکے شروع کریں گے، جو Laravel میں واقعی آسان ہے۔ آپ کو بس "ہماری ویب سائٹ پر خوش آمدید" کے متن کو درج ذیل کوڈ سے بدلنا ہے۔ {{ __('Welcome to our website') }}. یہ Laravel کو بطور ڈیفالٹ "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 یہ اس صورت میں چالو ہو جاتا ہے جب ہم اپنی درخواست میں ایک غیر موجود مقام متعین کرتے ہیں۔

جب کہ ہمارے پاس یہ فائل کھلی ہے، آئیے اپنی سہولت کے لیے ایک نئی کلید شامل کریں جس میں ہماری ایپلی کیشن سپورٹ کرے گی۔ مقامی سوئچر کو شامل کرتے وقت ہم اسے بعد میں استعمال کریں گے۔ تاہم، یہ ایک اختیاری کام ہے کیونکہ 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:

{

"ہماری ویب سائٹ پر خوش آمدید": "ہماری سائٹ پر خوش آمدید"

}

جیسا کہ آپ دیکھ سکتے ہیں، ہم ہمیشہ پیشگی پیغام کا حوالہ دیتے ہیں۔definito جسے ہم نے فائل میں شامل کیا ہے۔ welcome.blade.php (جو تھا {{ __('Welcome to our website') }})۔ ہمیں فائل بنانے کی ضرورت کیوں نہیں ہے۔ en.json اس کی وجہ یہ ہے کہ لاریول پہلے ہی جانتا ہے کہ ہم پہلے سے ترتیب کے ذریعے کون سے پیغامات پاس کرتے ہیں۔defiتقریب میں ختم __() وہ ہمارے مقامی پری کے لیے ہیں۔definito en.

لاراویل میں مقامی تبدیلی

اس وقت، Laravel کو یہ نہیں معلوم کہ لوکیلز کو کیسے تبدیل کیا جائے، اس لیے ابھی کے لیے، براہ راست راستے کے اندر ترجمہ کرتے ہیں۔ پہلے سے استقبال کے راستے میں ترمیم کریں۔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. آپ کو مقامی مواد دیکھنا چاہئے۔ اگر آپ ایک غیر تعاون یافتہ مقام کی وضاحت کرتے ہیں یا بالکل بھی کسی مقام کی وضاحت نہیں کرتے ہیں تو Laravel استعمال کرے گا۔ enپہلے سے طے شدہ طور پرdefiنیتا

Middleware

ہر سائٹ کے لنک کے لیے مقام کو تبدیل کرنا آپ کی مرضی کے مطابق نہیں ہوسکتا ہے، اور یہ جمالیاتی طور پر صاف نظر نہیں آسکتا ہے۔ اس لیے ہم زبان کی ترتیب کو ایک خاص لینگویج سوئچر کے ذریعے کریں گے اور ترجمہ شدہ مواد کو ظاہر کرنے کے لیے صارف کے سیشن کا استعمال کریں گے۔ لہذا، اندر ایک نیا مڈل ویئر بنائیں 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فی 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(جب تک آپ کی سیشن کوکی آپ کے براؤزر میں موجود ہے) اور آپ ترجمہ شدہ مواد دیکھیں گے۔ آپ آزادانہ طور پر ویب سائٹ کے ارد گرد گھوم سکتے ہیں یا صفحہ کو تازہ کرنے کی کوشش کر سکتے ہیں اور دیکھ سکتے ہیں کہ منتخب کردہ زبان محفوظ ہے۔

کمیوٹیٹر

اب ہمیں کچھ ایسا بنانے کی ضرورت ہے جسے صارف یو آر ایل میں مقامی کوڈز کو دستی طور پر داخل کرنے کے بجائے زبان کو تبدیل کرنے کے لیے کلک کر سکے۔ ایسا کرنے کے لیے، ہم ایک بہت ہی آسان زبان چیکر شامل کریں گے۔ لہذا، ایک نیا بنائیں 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، لہذا سب کچھ ہمارے استقبال کے نقطہ نظر میں ہونا چاہئے جب تک کہ دوسری صورت میں بیان نہ کیا جائے۔

ترجمے کے تار میں پیرامیٹرز

مثال کے طور پر، صرف ایک عام پیغام دکھانے کے بجائے اپنے خیالی صارف (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);

اس کے علاوہ، نمبر فارمیٹر آپ کو آسانی سے کرنسیوں کو تلاش کرنے کی اجازت دیتا ہے، مثال کے طور پر:

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

اب تک fr آپ یورو دیکھیں گے، جبکہ کے لیے en_US کرنسی امریکی ڈالر میں ہوگی۔

Ercole Palmeri

انوویشن نیوز لیٹر
جدت پر سب سے اہم خبروں کو مت چھوڑیں۔ ای میل کے ذریعے انہیں وصول کرنے کے لیے سائن اپ کریں۔

حالیہ مضامین

Veeam ransomware کے لیے تحفظ سے لے کر ردعمل اور بازیابی تک سب سے زیادہ جامع تعاون فراہم کرتا ہے۔

Veeam کی طرف سے Coveware سائبر بھتہ خوری کے واقعات کے ردعمل کی خدمات فراہم کرتا رہے گا۔ Coveware فرانزک اور تدارک کی صلاحیتیں پیش کرے گا…

اپریل 23 2024

سبز اور ڈیجیٹل انقلاب: کس طرح پیشین گوئی کی دیکھ بھال تیل اور گیس کی صنعت کو تبدیل کر رہی ہے

پیشن گوئی کی دیکھ بھال تیل اور گیس کے شعبے میں انقلاب برپا کر رہی ہے، پلانٹ کے انتظام کے لیے ایک جدید اور فعال نقطہ نظر کے ساتھ۔

اپریل 22 2024

UK کے عدم اعتماد کے ریگولیٹر نے GenAI پر BigTech کا الارم بڑھا دیا۔

UK CMA نے مصنوعی ذہانت کے بازار میں بگ ٹیک کے رویے کے بارے میں ایک انتباہ جاری کیا ہے۔ وہاں…

اپریل 18 2024

کاسا گرین: اٹلی میں پائیدار مستقبل کے لیے توانائی کا انقلاب

عمارتوں کی توانائی کی کارکردگی کو بڑھانے کے لیے یورپی یونین کی طرف سے تیار کردہ "گرین ہاؤسز" فرمان نے اپنے قانون سازی کے عمل کو اس کے ساتھ ختم کیا ہے…

اپریل 18 2024

اپنی زبان میں انوویشن پڑھیں

انوویشن نیوز لیٹر
جدت پر سب سے اہم خبروں کو مت چھوڑیں۔ ای میل کے ذریعے انہیں وصول کرنے کے لیے سائن اپ کریں۔

ہمارے ساتھ چلیے