{"id":29136,"date":"2021-06-08T10:11:00","date_gmt":"2021-06-08T07:11:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=29136"},"modified":"2021-10-17T16:24:55","modified_gmt":"2021-10-17T13:24:55","slug":"cree-un-sitio-web-en-varios-idiomas-en-php-usando-laravel-framework","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/cree-un-sitio-web-en-varios-idiomas-en-php-usando-laravel-framework\/","title":{"rendered":"Cree un sitio web en varios idiomas en PHP usando Laravel Framework"},"content":{"rendered":"<p>\u00bfQuieres crear un sitio web multiling\u00fce en PHP? Un sitio web en varios idiomas ayuda a aumentar las audiencias de varias regiones. En este art\u00edculo, estudiamos c\u00f3mo construir un sitio web en varios idiomas en PHP utilizando Laravel Framework.<\/p>\n<p>Laravel tiene una funci\u00f3n incorporada de localizaci\u00f3n. La localizaci\u00f3n de idiomas es el proceso de traducci\u00f3n de contenido a diferentes idiomas. Usando esta funci\u00f3n incorporada de Laravel, podemos agregar soporte para m\u00faltiples idiomas al sitio web de Laravel.<\/p>\n<p>En Laravel, puede recuperar f\u00e1cilmente cadenas en varios idiomas, a trav\u00e9s de las cuales puede dar soporte a m\u00faltiples idiomas en la aplicaci\u00f3n.<\/p>\n<p>Hay 2 formas de definir cadenas de traducci\u00f3n en Laravel: usando claves cortas y usando cadenas de traducci\u00f3n como claves. Ech\u00e9mosle un vistazo uno por uno.<\/p>\n<h3>Traducci\u00f3n de Laravel usando teclas cortas<\/h3>\n<p>Para comenzar, primero debe conocer las estructuras de directorio utilizadas para la traducci\u00f3n en Laravel.<\/p>\n<p>Supongamos que necesita agregar soporte para el idioma &#8216;alem\u00e1n&#8217;. Entonces, cree un directorio &#8216;de&#8217; en la carpeta &#8216;resources \/ lang&#8217;.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20301-6081da9876a80.png\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20301-6081da9876a80.png\" alt=\"Cree un sitio web en varios idiomas en PHP usando Laravel Framework\" ><\/a><\/p>\n<p>Se recomienda utilizar el nombre de la carpeta seg\u00fan el territorio de acuerdo con los valores ISO. Puede obtener una lista de c\u00f3digos para idiomas <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/ee825488(v=cs.20).aspx\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">aqu\u00ed<\/a>.<\/p>\n<p>Cree un archivo <code>messages.php<\/code>en la carpeta &#8216;de&#8217;. Este archivo contiene una matriz de cadenas con clave. A continuaci\u00f3n se muestra el ejemplo en el que estamos usando la traducci\u00f3n al alem\u00e1n para la palabra en ingl\u00e9s &#8216;welcome&#8217;.<\/p>\n<pre><code>&lt;?php\n\u00a0\nreturn [\n\u00a0\u00a0\u00a0\u00a0'welcome' =&gt; 'Herzlich willkommen',\n];<\/code><\/pre>\n<p>Aqu\u00ed &#8216;bienvenido&#8217; es una clave definida por el usuario. Esta clave se utilizar\u00e1 para recuperar cadenas de traducci\u00f3n en el idioma alem\u00e1n. Puede agregar tantas claves en este archivo. Al agregar claves, debe usar claves \u00fanicas en la matriz. Las claves duplicadas resultar\u00e1n en una traducci\u00f3n incorrecta.<\/p>\n<p>El proceso anterior es f\u00e1cil si su sitio web no tiene mucho contenido. Pero, si su sitio web es bastante rico en contenido, ser\u00e1 dif\u00edcil de manejar mantener claves \u00fanicas. En tales casos, elija la segunda opci\u00f3n de pasar cadenas de traducci\u00f3n como claves.<\/p>\n<h3>Usar cadenas de traducci\u00f3n como claves<\/h3>\n<p>En este enfoque, no es necesario pasar una clave \u00fanica. Lo que debe hacer es crear un archivo <code>de.json<\/code>en el directorio &#8216;resources \/ lang&#8217;. A continuaci\u00f3n, en este archivo JSON, pase la cadena de traducci\u00f3n como claves.<\/p>\n<p>Por ejemplo, desea una traducci\u00f3n al alem\u00e1n de la oraci\u00f3n en ingl\u00e9s &quot;\u00bfC\u00f3mo est\u00e1s?&quot; luego, en el <code>de.json<\/code>archivo, agregue el siguiente par.<\/p>\n<pre><code>{\n\u00a0\u00a0\u00a0\u00a0\"How are you?\": \"Wie geht es dir?\"\n}<\/code><\/pre>\n<p>La clave de la cadena de traducci\u00f3n debe ser exactamente la que desea traducir. Esto ser\u00e1 mucho m\u00e1s f\u00e1cil ya que en el c\u00f3digo debe pasar una cadena de traducci\u00f3n directamente.<\/p>\n<h3>Establecer el idioma para el sitio web de Laravel<\/h3>\n<p>Cuando instalamos Laravel, el idioma predeterminado es &#8216;en&#8217;. Para cambiar el idioma predeterminado, abra el <code>config\/app.php<\/code>archivo. Busque la clave &#8216;locale&#8217; y establezca el c\u00f3digo de idioma. En nuestro caso, lo ser\u00e1 <code>'locale' =&gt; 'de'<\/code>.<\/p>\n<p>Alternativamente, puede configurar el tiempo de ejecuci\u00f3n del idioma utilizando el <code>setLocale<\/code>m\u00e9todo de <code>App<\/code>fachada. En el siguiente c\u00f3digo, configuro el idioma en el constructor.<\/p>\n<pre><code>use App;\npublic function __construct() {\n\u00a0\u00a0\u00a0\u00a0App::setLocale('de');\n}<\/code><\/pre>\n<h3>Obtenga cadenas de traducci\u00f3n y reempl\u00e1celas<\/h3>\n<p>Para obtener el texto traducido de los archivos de idioma, Laravel proporcion\u00f3 un m\u00e9todo auxiliar \u00bb. En el siguiente c\u00f3digo, obtengo cadenas de traducci\u00f3n de ambos <code>messages.php<\/code>y <code>de.json<\/code>en el archivo blade.<\/p>\n<pre><code>{{ __('messages.welcome') }} \/\/Output, Herzlich willkommen\n\u00a0\n{{ __('How are you?') }} \/\/Output, Wie geht es dir?<\/code><\/pre>\n<p>En el controlador puede obtener la cadena de traducci\u00f3n usando la <code>echo<\/code>funci\u00f3n.<\/p>\n<pre><code>echo __('messages.welcome');\necho __('How are you?');<\/code><\/pre>\n<h3>Marcadores de posici\u00f3n en cadenas de traducci\u00f3n<\/h3>\n<p>Laravel tambi\u00e9n explora las funciones de traducci\u00f3n en las que puede pasar marcadores de posici\u00f3n en las cadenas de traducci\u00f3n.<\/p>\n<pre><code>'welcome' =&gt; 'Welcome, :name',<\/code><\/pre>\n<p>O en <code>de.josn<\/code>archivo,<\/p>\n<pre><code>{\n\u00a0\u00a0\u00a0\u00a0\"How are you?\": \"Wie geht es dir, :name?\"\n}<\/code><\/pre>\n<p>Para reemplazar los marcadores de posici\u00f3n en la aplicaci\u00f3n, necesitamos escribir el c\u00f3digo de la siguiente manera.<\/p>\n<pre><code>{{ __('messages.welcome', ['name' =&gt; 'John']) }}\n\u00a0\n{{ __('How are you?', ['name' =&gt; 'John']) }}<\/code><\/pre>\n<p>Si escribimos un marcador de posici\u00f3n como &#8216;: NAME&#8217;, la salida ser\u00eda &#8216;JOHN&#8217; y para &#8216;: Name&#8217; la salida ser\u00eda &#8216;John&#8217;.<\/p>\n<p>Espero que comprenda c\u00f3mo crear un sitio web en varios idiomas en PHP utilizando el marco de Laravel. Comparta sus pensamientos y sugerencias en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-cargar-y-comprimir-imagenes-en-laravel\/\" title=\"Una gu\u00eda para cargar y comprimir im\u00e1genes en Laravel\">Una gu\u00eda para cargar y comprimir im\u00e1genes en Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-instalar-y-usar-ckeditor-en-laravel\/\" title=\"C\u00f3mo instalar y usar CKEditor en Laravel\">C\u00f3mo instalar y usar CKEditor en Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-usar-laravel-tinker\/\" title=\"C\u00f3mo usar Laravel Tinker\">C\u00f3mo usar Laravel Tinker<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfQuiere crear un sitio web multiling\u00fce en php? En este art\u00edculo, le muestro c\u00f3mo se puede crear un sitio web en varios idiomas utilizando Laravel<\/p>\n","protected":false},"author":1,"featured_media":21641,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[495],"tags":[849],"class_list":["post-29136","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/29136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=29136"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/29136\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21641"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=29136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=29136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=29136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}