ਲੇਖ

Laravel ਸਥਾਨੀਕਰਨ ਕਦਮ-ਦਰ-ਕਦਮ ਗਾਈਡ, ਉਦਾਹਰਣਾਂ ਵਾਲਾ ਟਿਊਟੋਰਿਅਲ

ਲਾਰਵੇਲ ਪ੍ਰੋਜੈਕਟ ਦਾ ਸਥਾਨੀਕਰਨ ਕਿਵੇਂ ਕਰਨਾ ਹੈ, ਲਾਰਵੇਲ ਵਿੱਚ ਇੱਕ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਕਿਵੇਂ ਵਿਕਸਿਤ ਕਰਨਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਕਈ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਵਰਤੋਂ ਯੋਗ ਬਣਾਉਣਾ ਹੈ। ਇਸ ਲੇਖ ਵਿੱਚ ਅਸੀਂ ਵੇਖਦੇ ਹਾਂ ਕਿ ਅਨੁਵਾਦ ਫਾਈਲਾਂ ਨਾਲ ਕਿਵੇਂ ਕੰਮ ਕਰਨਾ ਹੈ, ਇੱਕ ਭਾਸ਼ਾ ਬਦਲਣ ਵਾਲਾ ਬਣਾਉਣਾ ਅਤੇ ਹੋਰ ਵੀ ਉਦਾਹਰਣਾਂ ਦੇ ਨਾਲ।

ਲਾਰਵੇਲ ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਹੈ ਜੋ ਸਥਾਨਕ ਹੋਣ ਲਈ, ਵੱਖ-ਵੱਖ ਭਾਸ਼ਾਵਾਂ ਅਤੇ ਸਭਿਆਚਾਰਾਂ ਦੇ ਅਨੁਕੂਲ ਹੋਣ ਲਈ ਤਿਆਰ ਕੀਤੀ ਗਈ ਹੈ। ਸਥਾਨਕਕਰਨ ਅਨੁਵਾਦ ਰਾਹੀਂ ਕਿਸੇ ਖਾਸ ਭਾਸ਼ਾ ਲਈ ਅੰਤਰਰਾਸ਼ਟਰੀਕਰਨ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਤਿਆਰ ਕਰਦਾ ਹੈ।

ਮੁੱਢਲੀ ਲੋੜ

  • ਇਸ ਲੇਖ ਵਿਚ ਅਸੀਂ ਇਸ ਦਾ ਹਵਾਲਾ ਦੇਵਾਂਗੇ Laravel ਸੰਸਕਰਣ 8.x;
  • ਇਸ ਟਿਊਟੋਰਿਅਲ ਦੀ ਸਫਲਤਾਪੂਰਵਕ ਪਾਲਣਾ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ PHP ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਅਤੇ Laravel ਫਰੇਮਵਰਕ ਦਾ ਜ਼ਰੂਰੀ ਗਿਆਨ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
  • ਤੁਹਾਡਾ ਡੋਮੇਨ ਹੈ localhost. ਜੇ ਨਹੀਂ, ਬਦਲੋ localhost ਤੁਹਾਡੇ ਆਪਣੇ ਡੋਮੇਨ ਨਾਮ ਜਾਂ IP ਪਤੇ ਨਾਲ (ਤੁਹਾਡੀ ਸਥਾਪਨਾ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ)।

ਅਨੁਵਾਦ ਫਾਈਲਾਂ ਨਾਲ ਕੰਮ ਕਰਨਾ

ਲਾਰਵੇਲ ਵਿੱਚ, ਜਿਵੇਂ ਕਿ ਕਈ ਹੋਰ ਫਰੇਮਵਰਕ ਵਿੱਚ, ਅਸੀਂ ਵੱਖ-ਵੱਖ ਭਾਸ਼ਾਵਾਂ ਲਈ ਅਨੁਵਾਦਾਂ ਨੂੰ ਵੱਖਰੀਆਂ ਫਾਈਲਾਂ ਵਿੱਚ ਸਟੋਰ ਕਰ ਸਕਦੇ ਹਾਂ। Laravel ਅਨੁਵਾਦ ਫਾਈਲਾਂ ਨੂੰ ਸੰਗਠਿਤ ਕਰਨ ਦੇ ਦੋ ਤਰੀਕੇ ਹਨ:

  • ਇੱਕ ਪੁਰਾਣੀ ਪਹੁੰਚ ਜੋ ਫਾਈਲਾਂ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਸਥਾਨ ਵਿੱਚ ਸਟੋਰ ਕਰਦੀ ਹੈ: resources/lang/{en,fr,ru}/{myfile.php};
  • ਇੱਕ ਨਵੀਂ ਪਹੁੰਚ ਜੋ ਫਾਈਲਾਂ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਸਥਾਨ ਵਿੱਚ ਸਟੋਰ ਕਰਦੀ ਹੈ: resources/lang/{fr.json, ru.json};

ਖੇਤਰ ਦੁਆਰਾ ਵੱਖਰੀਆਂ ਭਾਸ਼ਾਵਾਂ ਲਈ, ਤੁਹਾਨੂੰ ਉਹਨਾਂ ਦਾ ਨਾਮ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ directory/file ISO 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') }}. ਇਹ ਲਾਰਵੇਲ ਨੂੰ ਡਿਫੌਲਟ ਰੂਪ ਵਿੱਚ "ਸਾਡੀ ਵੈਬਸਾਈਟ ਵਿੱਚ ਤੁਹਾਡਾ ਸੁਆਗਤ ਹੈ" ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈ ਨਿਰਦੇਸ਼ ਦੇਵੇਗਾdefiਨਾਈਟ ਅਤੇ ਇਸ ਸਤਰ ਦੇ ਅਨੁਵਾਦਾਂ ਦੀ ਭਾਲ ਕਰੋ ਜੇਕਰ ਅੰਗਰੇਜ਼ੀ ਤੋਂ ਇਲਾਵਾ ਕੋਈ ਹੋਰ ਭਾਸ਼ਾ ਸੈੱਟ ਕੀਤੀ ਗਈ ਹੈ (ਅਸੀਂ ਇਸ ਨੂੰ ਬਾਅਦ ਵਿੱਚ ਪ੍ਰਾਪਤ ਕਰਾਂਗੇ)। ਅੰਗਰੇਜ਼ੀ ਨੂੰ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਭਾਸ਼ਾ ਵਜੋਂ ਸੈੱਟ ਕੀਤਾ ਜਾਵੇਗਾdefiਸਾਡੇ ਐਪ ਦਾ ਨਿਸ਼, ਇਸ ਲਈ ਡਿਫੌਲਟ ਸੈਟਿੰਗ ਦੁਆਰਾdefiਅੰਤ ਵਿੱਚ ਅਸੀਂ ਸਿਰਫ਼ "ਸਾਡੀ ਵੈੱਬਸਾਈਟ ਵਿੱਚ ਤੁਹਾਡਾ ਸੁਆਗਤ ਹੈ" ਟੈਕਸਟ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਾਂਗੇ। ਜੇਕਰ ਲੋਕੇਲ ਵੱਖਰਾ ਹੈ, ਤਾਂ ਅਸੀਂ ਮੇਲ ਖਾਂਦਾ ਅਨੁਵਾਦ ਲੱਭਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਾਂਗੇ ਅਤੇ ਇਹ ਇੱਕ ਪਲ ਵਿੱਚ ਬਣਾਇਆ ਜਾਵੇਗਾ।

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:

{

"ਸਾਡੀ ਵੈੱਬਸਾਈਟ 'ਤੇ ਤੁਹਾਡਾ ਸੁਆਗਤ ਹੈ": "ਸਾਡੀ ਸਾਈਟ ਤੇ ਸੁਆਗਤ ਹੈ"

}

ਜਿਵੇਂ ਕਿ ਤੁਸੀਂ ਦੇਖ ਸਕਦੇ ਹੋ, ਅਸੀਂ ਹਮੇਸ਼ਾ ਪੂਰਵ ਸੰਦੇਸ਼ ਦਾ ਹਵਾਲਾ ਦਿੰਦੇ ਹਾਂdefinito ਜੋ ਅਸੀਂ ਫਾਈਲ ਵਿੱਚ ਜੋੜਿਆ ਹੈ welcome.blade.php (ਜੋ ਸੀ {{ __('Welcome to our website') }}). ਇਹ ਕਾਰਨ ਹੈ ਕਿ ਸਾਨੂੰ ਇੱਕ ਫਾਈਲ ਬਣਾਉਣ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ en.json ਇਹ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ ਲਾਰਵੇਲ ਪਹਿਲਾਂ ਹੀ ਜਾਣਦਾ ਹੈ ਕਿ ਅਸੀਂ ਪ੍ਰੀ ਸੈਟਿੰਗ ਦੁਆਰਾ ਕਿਹੜੇ ਸੁਨੇਹੇ ਪਾਸ ਕਰਦੇ ਹਾਂdefiਸਮਾਗਮ ਵਿੱਚ ਸਮਾਪਤ ਹੋਇਆ __() ਉਹ ਸਾਡੇ ਸਥਾਨਕ ਪ੍ਰੀ ਲਈ ਹਨdefinito en.

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);
    }
}

ਇਹ ਮਿਡਲਵੇਅਰ ਲਾਰਵੇਲ ਨੂੰ ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਚੁਣੇ ਗਏ ਲੋਕੇਲ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਨਿਰਦੇਸ਼ ਦੇਵੇਗਾ ਜੇਕਰ ਇਹ ਚੋਣ ਸੈਸ਼ਨ ਵਿੱਚ ਮੌਜੂਦ ਹੈ।

ਕਿਉਂਕਿ ਸਾਨੂੰ ਹਰ ਬੇਨਤੀ 'ਤੇ ਅਜਿਹਾ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਸਾਨੂੰ ਇਸਨੂੰ ਪ੍ਰੀ ਮਿਡਲਵੇਅਰ ਸਟੈਕ ਵਿੱਚ ਜੋੜਨ ਦੀ ਵੀ ਲੋੜ ਹੈ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}. The 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, ਇਸਲਈ ਸਭ ਕੁਝ ਸਾਡੇ ਸੁਆਗਤ ਦ੍ਰਿਸ਼ ਵਿੱਚ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਕਿ ਹੋਰ ਨਿਰਧਾਰਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ।

ਅਨੁਵਾਦ ਸਤਰ ਵਿੱਚ ਮਾਪਦੰਡ

ਉਦਾਹਰਨ ਲਈ, ਆਉ ਸਾਡੇ ਕਾਲਪਨਿਕ ਉਪਭੋਗਤਾ (ਅਮਾਂਡਾ) ਨੂੰ ਸਿਰਫ਼ ਇੱਕ ਆਮ ਸੁਨੇਹਾ ਦਿਖਾਉਣ ਦੀ ਬਜਾਏ ਹੈਲੋ ਕਹੀਏ:

{{ __('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']) }}

ਜੇਕਰ ਕਿਸੇ ਪਲੇਸਹੋਲਡਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਲੋੜ ਹੋਵੇ ਤਾਂ ਅਸੀਂ `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

ਇਸਲਈ, ਆਪਣੇ ਲਾਰਵੇਲ ਐਪ ਵਿੱਚ ਇਹਨਾਂ ਅੰਤਰਾਂ ਨੂੰ ਦਰਸਾਉਣ ਲਈ, ਤੁਸੀਂ ਵਰਤ ਸਕਦੇ ਹੋ ਨੰਬਰ ਫਾਰਮੈਟਰ ਹੇਠ ਲਿਖੇ ਤਰੀਕੇ ਨਾਲ:

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

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

ਤੁਸੀਂ ਕਿਸੇ ਖਾਸ ਭਾਸ਼ਾ ਵਿੱਚ ਨੰਬਰ ਵੀ ਲਿਖ ਸਕਦੇ ਹੋ ਅਤੇ "ਇੱਕ ਲੱਖ XNUMX ਹਜ਼ਾਰ ਇੱਕ ਸੌ XNUMX ਪੁਆਇੰਟ ਇੱਕ ਦੋ" ਵਰਗਾ ਕੁਝ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹੋ:

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

ਇਨੋਵੇਸ਼ਨ ਨਿਊਜ਼ਲੈਟਰ
ਨਵੀਨਤਾ ਬਾਰੇ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਖ਼ਬਰਾਂ ਨੂੰ ਨਾ ਭੁੱਲੋ। ਉਹਨਾਂ ਨੂੰ ਈਮੇਲ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਾਈਨ ਅੱਪ ਕਰੋ।

ਤਾਜ਼ਾ ਲੇਖ

ਭਵਿੱਖ ਇੱਥੇ ਹੈ: ਸ਼ਿਪਿੰਗ ਉਦਯੋਗ ਗਲੋਬਲ ਆਰਥਿਕਤਾ ਵਿੱਚ ਕਿਵੇਂ ਕ੍ਰਾਂਤੀ ਲਿਆ ਰਿਹਾ ਹੈ

ਜਲ ਸੈਨਾ ਖੇਤਰ ਇੱਕ ਸੱਚੀ ਗਲੋਬਲ ਆਰਥਿਕ ਸ਼ਕਤੀ ਹੈ, ਜਿਸ ਨੇ 150 ਬਿਲੀਅਨ ਮਾਰਕੀਟ ਵੱਲ ਨੈਵੀਗੇਟ ਕੀਤਾ ਹੈ...

1 ਮਈ 2024

ਪ੍ਰਕਾਸ਼ਕ ਅਤੇ ਓਪਨਏਆਈ ਆਰਟੀਫੀਸ਼ੀਅਲ ਇੰਟੈਲੀਜੈਂਸ ਦੁਆਰਾ ਸੰਸਾਧਿਤ ਜਾਣਕਾਰੀ ਦੇ ਪ੍ਰਵਾਹ ਨੂੰ ਨਿਯਮਤ ਕਰਨ ਲਈ ਸਮਝੌਤਿਆਂ 'ਤੇ ਹਸਤਾਖਰ ਕਰਦੇ ਹਨ

ਪਿਛਲੇ ਸੋਮਵਾਰ, ਫਾਈਨੈਂਸ਼ੀਅਲ ਟਾਈਮਜ਼ ਨੇ ਓਪਨਏਆਈ ਨਾਲ ਇੱਕ ਸੌਦੇ ਦਾ ਐਲਾਨ ਕੀਤਾ। FT ਆਪਣੀ ਵਿਸ਼ਵ ਪੱਧਰੀ ਪੱਤਰਕਾਰੀ ਨੂੰ ਲਾਇਸੰਸ ਦਿੰਦਾ ਹੈ...

30 ਅਪ੍ਰੈਲ 2024

ਔਨਲਾਈਨ ਭੁਗਤਾਨ: ਇੱਥੇ ਦੱਸਿਆ ਗਿਆ ਹੈ ਕਿ ਕਿਵੇਂ ਸਟ੍ਰੀਮਿੰਗ ਸੇਵਾਵਾਂ ਤੁਹਾਨੂੰ ਹਮੇਸ਼ਾ ਲਈ ਭੁਗਤਾਨ ਕਰਦੀਆਂ ਹਨ

ਲੱਖਾਂ ਲੋਕ ਸਟ੍ਰੀਮਿੰਗ ਸੇਵਾਵਾਂ ਲਈ ਭੁਗਤਾਨ ਕਰਦੇ ਹਨ, ਮਹੀਨਾਵਾਰ ਗਾਹਕੀ ਫੀਸ ਅਦਾ ਕਰਦੇ ਹਨ। ਇਹ ਆਮ ਰਾਏ ਹੈ ਕਿ ਤੁਸੀਂ…

29 ਅਪ੍ਰੈਲ 2024

Veeam ਵਿੱਚ ਸੁਰੱਖਿਆ ਤੋਂ ਲੈ ਕੇ ਜਵਾਬ ਅਤੇ ਰਿਕਵਰੀ ਤੱਕ, ਰੈਨਸਮਵੇਅਰ ਲਈ ਸਭ ਤੋਂ ਵੱਧ ਵਿਆਪਕ ਸਮਰਥਨ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ

Veeam ਦੁਆਰਾ Coveware ਸਾਈਬਰ ਜ਼ਬਰਦਸਤੀ ਘਟਨਾ ਪ੍ਰਤੀਕਿਰਿਆ ਸੇਵਾਵਾਂ ਪ੍ਰਦਾਨ ਕਰਨਾ ਜਾਰੀ ਰੱਖੇਗਾ। ਕੋਵਵੇਅਰ ਫੋਰੈਂਸਿਕ ਅਤੇ ਉਪਚਾਰ ਸਮਰੱਥਾਵਾਂ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰੇਗਾ...

23 ਅਪ੍ਰੈਲ 2024

ਆਪਣੀ ਭਾਸ਼ਾ ਵਿੱਚ ਇਨੋਵੇਸ਼ਨ ਪੜ੍ਹੋ

ਇਨੋਵੇਸ਼ਨ ਨਿਊਜ਼ਲੈਟਰ
ਨਵੀਨਤਾ ਬਾਰੇ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਖ਼ਬਰਾਂ ਨੂੰ ਨਾ ਭੁੱਲੋ। ਉਹਨਾਂ ਨੂੰ ਈਮੇਲ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਾਈਨ ਅੱਪ ਕਰੋ।

ਸਾਡੇ ਨਾਲ ਪਾਲਣਾ