内刀片-welcome.blade.php
。
<div class="links">
<a href="https://laravel.com/docs">{{ __('passwords.reset') }}</a>
</div>
在web内部。php
。
如果我跑:
Route::get('/', function () {
return view('welcome');
});
我得到正确的欢迎刀片页面与正确的翻译。
另一条路线:
Route::get('welcome/{lang}', function ($lang) {
// echo $lang;
// dd(Lang::getLocale());
App::setLocale($lang);
//dd(Lang::getLocale());
return view('welcome');
//
});
如果我运行dd(Lang::getLocale())
我可以看到URL发送的正确语言
http://testapp/welcome/en
。在这种情况下,'en'
。如果我在评论中加入dd()
,我可以在Laravel欢迎页面中看到正确的翻译。
但是当我运行这个代码时:
Route::group(['prefix'=>'welcome'], function (){
Route::group(['prefix'=>'{lang}'], function ($lang){
//echo $lang;
//dd(Lang::getLocale());
App::setLocale($lang);
//dd(Lang::getLocale());
return view('welcome');
});
});
这就是我所拥有的:
回声$lang;在web中为我提供
ErrorException。php第30行:Illumb\Routing\Router类的对象无法转换为字符串
dd(朗::getLocale());给我
'en'
。
App::setLocale($lang);给我找不到404
应用程序::setLocale($lang);和返回视图('欢迎');给我404未找到
返回视图(“欢迎”);给我找不到404
当我奔跑
App::setLocale($lang);
dd(Lang::getLocale());
return view('welcome');
我得到一个对象:
Router {#21 ▼
#events: Dispatcher {#23 ▶}
#container: Application {#3 ▶}
#routes: RouteCollection {#25 ▶}
#current: null
#currentRequest: null
#middleware: array:6 [▶]
#middlewareGroups: array:2 [▶]
+middlewarePriority: array:6 [▶]
#binders: []
#patterns: []
#groupStack: array:3 [▶]
}
所以,我猜是
Route::group(['prefix'=
如何使用
Route::group()
解决此问题?
问题是Route::group
只是一个包装器,用于组织和分组其他路由。Route::group
和Route::post/get
不一样,所以你不能把逻辑放在Route::group
调用中。
你能做的是以下这些
Route::group(['prefix'=>'welcome'], function (){
Route::group(['prefix'=>'{lang}'], function (){
Route::get('/', function ($lang) {
App::setLocale($lang);
return view('welcome');
});
});
});
问题内容: 如何在Playframework 2.2(java)中不仅从用户浏览器设置而且从子域(应该具有更高的优先级)设置语言(i18n)? 以下应该工作: example.com->英语或德语,具体取决于浏览器设置 en.example.com->强制使用英语 de.example.com->强制德语 用户应该能够在子域之间切换而不会丢失会话。 因为我有很多Java控制器,所以如果解决方案在集
在设定期间您可选择用于 M600 的语言。 您可选择以下语言之一: 广东话(香港) 丹麦语 荷兰语 英语(美国、英国) 芬兰语 法语(法国、加拿大) 德语 印度尼西亚语 意大利语 日语 韩语 中文(台湾) 挪威语(巴克摩) 波兰语 葡萄牙语(巴西) 俄语 西班牙语(美国、西班牙、拉美) 瑞典语 泰语 土耳其语 越南语 请注意,您的智能手表最终会将您的语言设定复制到手机。换句话说,即如您在 M600
我想强制我的Symfony 2.5应用程序的区域设置为。我希望这个区域设置用于strftime()函数。 我的: 我正在我的一个控制器中使用以下代码来调试: 当这样执行时,它显示:。 但是,当第一行未注释时,它会显示:,因此区域设置已安装在系统中并正常工作。 我如何使Symfony始终使用配置中指定的语言环境? $locale-a:
我一直在android中开发语音识别API,发现当语言设置更改时,语音结果会发生变化,有没有办法通过编程进行设置?或者是否打算在语音语言设置屏幕上使用午餐?或者其他什么?注意:我试图使用这个额外的意图: 但这是无效的