✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Cree un sitio web en varios idiomas en PHP usando Laravel Framework

104

¿Quieres crear un sitio web multilingüe en PHP? Un sitio web en varios idiomas ayuda a aumentar las audiencias de varias regiones. En este artículo, estudiamos cómo construir un sitio web en varios idiomas en PHP utilizando Laravel Framework.

Laravel tiene una función incorporada de localización. La localización de idiomas es el proceso de traducción de contenido a diferentes idiomas. Usando esta función incorporada de Laravel, podemos agregar soporte para múltiples idiomas al sitio web de Laravel.

En Laravel, puede recuperar fácilmente cadenas en varios idiomas, a través de las cuales puede dar soporte a múltiples idiomas en la aplicación.

Hay 2 formas de definir cadenas de traducción en Laravel: usando claves cortas y usando cadenas de traducción como claves. Echémosle un vistazo uno por uno.

Traducción de Laravel usando teclas cortas

Para comenzar, primero debe conocer las estructuras de directorio utilizadas para la traducción en Laravel.

Supongamos que necesita agregar soporte para el idioma ‘alemán’. Entonces, cree un directorio ‘de’ en la carpeta ‘resources / lang’.

Cree un sitio web en varios idiomas en PHP usando Laravel Framework

Se recomienda utilizar el nombre de la carpeta según el territorio de acuerdo con los valores ISO. Puede obtener una lista de códigos para idiomas aquí.

Cree un archivo messages.phpen la carpeta ‘de’. Este archivo contiene una matriz de cadenas con clave. A continuación se muestra el ejemplo en el que estamos usando la traducción al alemán para la palabra en inglés ‘welcome’.

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

Aquí ‘bienvenido’ es una clave definida por el usuario. Esta clave se utilizará para recuperar cadenas de traducción en el idioma alemán. Puede agregar tantas claves en este archivo. Al agregar claves, debe usar claves únicas en la matriz. Las claves duplicadas resultarán en una traducción incorrecta.

El proceso anterior es fácil si su sitio web no tiene mucho contenido. Pero, si su sitio web es bastante rico en contenido, será difícil de manejar mantener claves únicas. En tales casos, elija la segunda opción de pasar cadenas de traducción como claves.

Usar cadenas de traducción como claves

En este enfoque, no es necesario pasar una clave única. Lo que debe hacer es crear un archivo de.jsonen el directorio ‘resources / lang’. A continuación, en este archivo JSON, pase la cadena de traducción como claves.

Por ejemplo, desea una traducción al alemán de la oración en inglés "¿Cómo estás?" luego, en el de.jsonarchivo, agregue el siguiente par.

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

La clave de la cadena de traducción debe ser exactamente la que desea traducir. Esto será mucho más fácil ya que en el código debe pasar una cadena de traducción directamente.

Establecer el idioma para el sitio web de Laravel

Cuando instalamos Laravel, el idioma predeterminado es ‘en’. Para cambiar el idioma predeterminado, abra el config/app.phparchivo. Busque la clave ‘locale’ y establezca el código de idioma. En nuestro caso, lo será 'locale' => 'de'.

Alternativamente, puede configurar el tiempo de ejecución del idioma utilizando el setLocalemétodo de Appfachada. En el siguiente código, configuro el idioma en el constructor.

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

Obtenga cadenas de traducción y reemplácelas

Para obtener el texto traducido de los archivos de idioma, Laravel proporcionó un método auxiliar ”. En el siguiente código, obtengo cadenas de traducción de ambos messages.phpy de.jsonen el archivo blade.

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

En el controlador puede obtener la cadena de traducción usando la echofunción.

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

Marcadores de posición en cadenas de traducción

Laravel también explora las funciones de traducción en las que puede pasar marcadores de posición en las cadenas de traducción.

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

O en de.josnarchivo,

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

Para reemplazar los marcadores de posición en la aplicación, necesitamos escribir el código de la siguiente manera.

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

Si escribimos un marcador de posición como ‘: NAME’, la salida sería ‘JOHN’ y para ‘: Name’ la salida sería ‘John’.

Espero que comprenda cómo crear un sitio web en varios idiomas en PHP utilizando el marco de Laravel. Comparta sus pensamientos y sugerencias en la sección de comentarios a continuación.

Artículos relacionados

Fuente de grabación: 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