2017-06-14 1 views
0

Ich arbeite mit Laravel 5.4 und meine Anwendung unterstützt sowohl LTR und RTL Sprachen, meine Frage ist, wie kann ich meine Inhalte umleiten, wenn Benutzer RTL Sprache wählen und umgekehrt natürlich?Site Richtung Basis auf Sprache in Laravel

+0

rechts wie nach links (Persisch , Arabisch, Hebräisch), LTR like (English) – djhru

Antwort

0

Sie möchten, dass Sie die Lokalisierungsfunktionen von Laravel einbeziehen.

https://laravel.com/docs/5.4/localization

Jede Sprache hat ist es Phrasen in den Ressourcen/lang gespeichert übersetzt. Dann zeigt die Anwendung basierend auf den Browsereinstellungen des Benutzers den korrekten übersetzten Text an.

+0

Kein Mann, ich habe Übersetzungssprachen es funktioniert gut Mein Problem ist nur über die Seitenrichtung. – djhru

+0

Wenn nur die Textrichtung geändert werden muss, können Sie die css direction-Eigenschaft verwenden: https://www.w3schools.com/cssref/pr_text_direction.asp. Sie können dann die korrekte Elementklasse basierend auf der Lokalisierung des Benutzers festlegen. – btl

0

Sie können versuchen, eine JS-Funktion für onchange Fall RTL oder LTR

$(document).on('change', '#language_selector' , function() { 
    var locale = $(this).val(); 
    $.ajax({ 
     url: "{{ url('change_language') }}", 
     type: "POST", 
     data: { 
      locale: locale 
     }, 
     success: function() { 
      window.location.reload(); 
     } 
    }); 
}); 

und fügen Sie eine Route das Gebietsschema auf der Grundlage der locale

Route::post('change_language', function() { 
    $locale = Input::get('locale'); 
    App::setLocale($locale); 
}); 

und in der Ansicht festlegen Schreiben konnte man Stellen Sie den Stil css

@if(App::getLocale() == 'en') 
<link href="ltr.css" type="stylesheet" /> 
@else 
<link href="rtl.css" type="stylesheet" /> 
@endif 
0

hatte ich dieselbe Frage und nach einigen Untersuchungen i-Prozess hat folgende:

  1. hinzugefügt, um meine Sprachdatei folgenden Code:

    'page_direction' => 'rtl',

Sie Erfahren Sie mehr über dieses Thema auf Laravel Localization Dokumentationen.

  1. Danach folgenden Code zu meinem Master-Template hinzugefügt:

    class = "{{__ ('global.page_direction')}}"

  2. Bei dieses Mal kann ich spezielle CSS-Code definieren, wenn das Körperelement rtl Klasse wie diese:

    body.rtl .Element {float: right}

Verwandte Themen