我正在使用laravel 5.4并且我的应用程序支持LTR和RTL语言,我的问题是当用户选择RTL语言并明显反向时,如何重定向我的内容?
答案 0 :(得分:1)
我有同样的问题,经过一些调查,我做了以下过程:
将以下代码添加到我的语言文件中:
'page_direction'=> 'RTL',
您可以在Laravel Localization文档上了解有关此主题的更多信息。
将以下代码添加到我的主模板后:
class =“{{__('global.page_direction')}}”
这时我可以在body元素有这样的rtl类时定义特殊的CSS代码:
body.rtl .element {float:right}
答案 1 :(得分:0)
您需要深入了解Laravel的本地化功能。
https://laravel.com/docs/5.4/localization
每种语言都有它存储在resources / lang目录中的翻译短语。然后,根据用户的浏览器设置,应用程序将显示正确的翻译文本。
答案 2 :(得分:0)
您可以尝试为onchange
或RTL
LTR
事件编写JS函数
$(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();
}
});
});
并附加路线以设置区域设置
Route::post('change_language', function() {
$locale = Input::get('locale');
App::setLocale($locale);
});
并在基于区域设置的视图中,您可以设置样式css
@if(App::getLocale() == 'en')
<link href="ltr.css" type="stylesheet" />
@else
<link href="rtl.css" type="stylesheet" />
@endif