我对 Laravel 的本地化系统很着迷,但我不知道我的代码有什么问题。
我刚刚写了一个语言选择器,在文档的头部你会看到一个获取浏览器默认语言的函数,它将获取默认语言。
语言模板默认保存在数组中 /resources/lang/*language*/messages.php-files.
我真的需要你的帮助,因为我看不到任何错误。
<html>
<head>
<?php
//get Browser default language
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
App::setlocale($lang);
?>
</head>
<body>
<div class="container">
@yield('content')
<div class="well text-center">
<h1><?php echo trans('Welcome') ?></h1>
</div>
@section('content.welcome')
<div class="row text-center">
<a href="<?php App::setlocale("de") ?>">Deutsch</a>
<label> | </label>
<a href="<?php App::setlocale("en") ?>">English</a>
<label> | </label>
<a href="<?php App::setlocale("it") ?>">Italiano</a>
<label> | </label>
<a href="<?php App::setlocale("es") ?>">Español</a>
<label> | </label>
<a href="<?php App::setlocale("fr") ?>">Français</a>
<label> | </label>
<a href="<?php App::setlocale("jp") ?>">???</a>
<label> | </label> …Run Code Online (Sandbox Code Playgroud) 我找不到错误。你得到一个吗?
您会看到一个对象定义为具有 3 个方法的对象:gt(get)、add(add)、rm(remove)。之后,我添加了一个事件处理程序 ( Ev),只做了一件事:将其加载到页面加载上并将单击事件添加到元素 ( elm)。
var Obj = {
gt: function(elm) {
if (typeof === "string") {
return document.getElementById(elm);
} else {
return elm;
}
},
add: function(elm, dst) {
var elm = this.gt(elm);
var dst = this.gt(dst);
dst.appendChild(elm);
},
rm: function(elm) {
var elm = this.gt(elm);
elm.parentNode.removeChild(elm);
}
};
var Ev = {
add: function () {
if (window.addEventListener) {
return function(elm, type, fn) {
Obj.gt(elm).addEventListener(type, fn, false); …Run Code Online (Sandbox Code Playgroud)