✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Crea un sito Web multilingue in PHP utilizzando Laravel Framework

192

Vuoi creare un sito web multilingue in PHP? Un sito web multilingue aiuta ad aumentare il pubblico da diverse regioni. In questo articolo, studiamo come costruire un sito Web multilingue in PHP utilizzando Laravel Framework.

Laravel ha una funzionalità integrata di localizzazione. La localizzazione linguistica è il processo di traduzione dei contenuti in diverse lingue. Utilizzando questa funzionalità integrata di Laravel, possiamo aggiungere il supporto per più lingue al sito Web di Laravel.

In Laravel, puoi facilmente recuperare stringhe in varie lingue, attraverso le quali puoi dare supporto a più lingue nell’applicazione.

Ci sono 2 modi in cui puoi definire le stringhe di traduzione in Laravel: usando i tasti brevi e usando le stringhe di traduzione come chiavi. Diamo un’occhiata uno per uno.

Traduzione di Laravel utilizzando i tasti di scelta rapida

Per iniziare, dovresti prima conoscere le strutture di directory utilizzate per la traduzione in Laravel.

Supponiamo che tu debba aggiungere il supporto per la lingua "tedesca". Quindi, crea una directory ‘de’ nella cartella ‘resources/lang’.

Crea un sito Web multilingue in PHP utilizzando Laravel Framework

Si consiglia di utilizzare il nome della cartella in base al territorio in base ai valori ISO. È possibile ottenere l’elenco dei codici per le lingue qui.

Crea un file messages.phpnella cartella "de". Questo file contiene un array di stringhe con chiave. Di seguito è riportato l’esempio in cui stiamo utilizzando la traduzione tedesca per la parola inglese "benvenuto".

<?php
 
return [
    'welcome' => 'Herzlich willkommen',
];

Qui ‘benvenuto’ è una chiave definita dall’utente. Questa chiave verrà utilizzata per recuperare le stringhe di traduzione in lingua tedesca. Puoi aggiungere tutte le chiavi in ​​questo file. Durante l’aggiunta di chiavi, è necessario utilizzare chiavi univoche nell’array. Le chiavi duplicate comporteranno una traduzione errata.

Il processo di cui sopra è facile se il tuo sito web non ha molti contenuti. Tuttavia, se il tuo sito Web è piuttosto ricco di contenuti, sarà difficile gestire le chiavi univoche. In questi casi, scegli la seconda opzione di passare le stringhe di traduzione come chiavi.

Utilizzo di stringhe di traduzione come chiavi

In questo approccio, non è necessario passare una chiave univoca. Quello che devi fare è creare un file de.jsonnella directory ‘resources/lang’. Successivamente, in questo file JSON, passa la stringa di traduzione come chiavi.

Ad esempio, vuoi una traduzione tedesca della frase inglese "Come stai?" quindi nel de.jsonfile aggiungi la coppia sottostante.

{
    "How are you?": "Wie geht es dir?"
}

La chiave della stringa di traduzione dovrebbe essere esattamente ciò per cui vuoi tradurre. Questo sarà molto più semplice poiché nel codice devi passare direttamente una stringa di traduzione.

Imposta la lingua per il sito web di Laravel

Quando installiamo Laravel, la lingua predefinita è "en". Per cambiare la lingua predefinita, apri il config/app.phpfile. Trova la chiave "locale" e imposta il codice della lingua. Nel nostro caso sarà 'locale' => 'de'.

In alternativa, è possibile impostare il runtime della lingua utilizzando il setLocalemetodo di Appfacciata. Nel codice seguente, ho impostato la lingua nel costruttore.

use App;
public function __construct() {
    App::setLocale('de');
}

Ottieni stringhe di traduzione e sostituiscile

Per ottenere il testo tradotto dai file di lingua, Laravel ha fornito un metodo di supporto ”. Nel codice seguente sto recuperando le stringhe di traduzione da entrambi messages.phpe de.jsonnel file blade.

{{ __('messages.welcome') }} //Output, Herzlich willkommen
 
{{ __('How are you?') }} //Output, Wie geht es dir?

Nel controller puoi ottenere la stringa di traduzione usando la echofunzione.

echo __('messages.welcome');
echo __('How are you?');

Segnaposto nelle stringhe di traduzione

Laravel esplora anche le funzionalità di traduzione in cui è possibile passare i segnaposto nelle stringhe di traduzione.

'welcome' => 'Welcome, :name',

o in de.josnarchivio,

{
    "How are you?": "Wie geht es dir, :name?"
}

Per sostituire i segnaposto nell’applicazione dobbiamo scrivere il codice come segue.

{{ __('messages.welcome', ['name' => 'John']) }}
 
{{ __('How are you?', ['name' => 'John']) }}

Se scriviamo un segnaposto come ‘:NAME’ l’output sarebbe ‘JOHN’ e per l’output di ‘:Name’ è ‘John’.

Spero che tu capisca come creare un sito Web multilingue in PHP utilizzando il framework Laravel. Per favore condividi i tuoi pensieri e suggerimenti nella sezione commenti qui sotto.

articoli Correlati

Fonte di registrazione: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More