我对这样的多语言系统具有网址结构:
默认语言,例如:en
(不显示/检测网址中的短语言)
localhost/cms
localhost/cms/article/slug/etc...
以及另一种语言,例如:
localhost/cms/fr
localhost/cms/fr/article/slug/etc...
我的想法:
localhost/cms/users
),
b。提供的语言未知(localhost/cms/fr/users
)。en
)和routableURI,
没有任何语言的URI(例如:cms / users)我有此代码:
function urlss(){
$uri = $_SERVER['REQUEST_URI'];
$languages = ['en', 'fr', 'es', 'de'];
// this is my default language
$defaultLang = 'en';
// $currentLang is the language I'll use to show the contents
$currentLang = $defaultLang;
$uri = ltrim(rawurldecode($uri), '/');
$parts = explode('/', $uri);
if( ! empty($parts) && in_array(strtolower($parts[0]), $languages)) {
$currentLang = array_shift($parts);
}
$routableUri = implode('/', $parts);
return $routableUri;
}
我的代码输出默认语言:(错误输出)并且不起作用
检查:localhost/cms/
或localhost/cms/users/
输出为:cms/
或cms/users/
另一种语言的输出:(true输出)工作为true
检查:localhost/cms/fr/
输出为cms/fr/
或localhost/cms/fr/users/
输出为:cms/fr/users/
如何在不像这样在网址中添加/检测短语言名称的情况下打印默认语言?!
检查:localhost/cms
输出为:cms/en
或检查localhost/cms/users/
输出为:cms/en/users/
。