Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Laravel 5中创建多语言(国家)网站的最佳方式是什么?_Php_Laravel - Fatal编程技术网

Php 在Laravel 5中创建多语言(国家)网站的最佳方式是什么?

Php 在Laravel 5中创建多语言(国家)网站的最佳方式是什么?,php,laravel,Php,Laravel,我想创建一个多语言(国家)项目,如EN-US,EN-UK,ZH-CN。EN-US和EN-UK网站的内容相同,但货币不同,但对于中国用户的ZH-CN网站,其内容不同,例如页脚不会有社交媒体链接(如facebook、twitter、youtube,因为该服务在中国被屏蔽) 每个网站都将具备在两种或三种语言(如EN-US网站)之间切换的能力,用户将能够在英语和西班牙语之间切换。我知道如何在语言之间切换 我目前不知道如何创建路由以及如何输出不同的内容。就像我硬编码路由一样,手动将/en-us、/en-u

我想创建一个多语言(国家)项目,如EN-USEN-UKZH-CN。EN-US和EN-UK网站的内容相同,但货币不同,但对于中国用户的ZH-CN网站,其内容不同,例如页脚不会有社交媒体链接(如facebook、twitter、youtube,因为该服务在中国被屏蔽)

每个网站都将具备在两种或三种语言(如EN-US网站)之间切换的能力,用户将能够在英语和西班牙语之间切换。我知道如何在语言之间切换

我目前不知道如何创建路由以及如何输出不同的内容。就像我硬编码路由一样,手动将/en-us/en-uk/zh-cn写入routes.php文件,每个路由输出不同的内容

硬编码路线并输出视图(仅为示例)

有谁知道创建此类网站的更好方法吗。感谢您的帮助


谢谢你

我做了一些非常类似的事情,效果非常好。 下面是我的多域L4应用程序的一个简短片段

app/Http/routes.php

use App\Domain;

Route::bind('tld', function($value, $route)
{
    $project = $route->getParameter('projectSlug');
    if($project->tld !== $value)
        App::abort(404);
    return $value;
});
Route::bind('projectSlug', function($value, $route)
{
    return Domain::where('slug', '=', $value)->firstOrFail();
});
// routes.php
Route::group(['domain' => '{projectSlug}.{tld}'], function($projectSlug)
{
    Route::get('/', [ 'as' => 'index.index', 'uses' => 'Frontend\ReportsController@index' ]);
});
在控制器中,您可以执行以下操作:

public function index($projectSlug) {
...
$domain = Domain::findorFail($projectSlug->id);
..
return view('domain.view', compact('domain'));
..

每个域及其名称都保存在数据库中。现在,如果用户访问该站点,laravel正在寻找该域。Et voila-您有一个多域的Laravel应用程序:)

看看文档:@Daan这不是我想要的,正如我上面提到的,我知道如何在语言之间切换。答:你问的是如何创建路由,他们在文档中确实提到了。@Daan但你能给我举个例子说明如何创建路由吗?一个简短的例子就可以了。我只需要一个概念和如何工作的视觉。比如如何根据不同的国家/地区网站输出不同的内容。谢谢你,我用了:它帮助我解决了多语言应用程序/网站的问题。
public function index($projectSlug) {
...
$domain = Domain::findorFail($projectSlug->id);
..
return view('domain.view', compact('domain'));
..