多种语言的网址

时间:2017-04-03 05:24:21

标签: php cakephp routing cakephp-3.0

现在我正在开展一个项目,该项目有多语言项目,即英语,中文,丹麦语,韩语等。必须根据所选语言更改页面URL。喜欢:

English : example.com/pages/fullpage
Chinese : example.com/ch/頁面/整頁
Danish : example.com/dk/sider/fuldside

我已经阅读了CakePhp 3.x文档,但我无法得到正确答案。我是通过路由来完成的。 喜欢:

Router::scope('/', function (RouteBuilder $routes) {
    $routes->connect('/pages/fullpage',   ['controller' => 'pages', 'action' => 'fullpage'] );
    $routes->connect('/頁面/整頁',   ['controller' => 'pages', 'action' => 'fullpage'] );
    $routes->connect('/sider/fuldside',   ['controller' => 'pages', 'action' => 'fullpage'] );
});

它完美无缺,但我想要可靠的概念,因为在这种情况下,我需要为所有操作定义路由。

所以,如果您对此有任何想法请帮助。

提前致谢。

1 个答案:

答案 0 :(得分:1)

而不是用se the translation methodstoggle the language编写数千条路线,而不是用于设置它的任何参数:

import re

data = '\\216\\173\\217\\138\\217\\136\\216\\167\\217\\134\\032\\216\\178\\216\\167\\216\\173\\217\\129\\032\\217\\138\\216\\186\\217\\138\\216\\177\\032\\217\\132\\217\\136\\217\\134\\032\\216\\172\\217\\132\\216\\175\\217\\135'
decoded_data = re.sub('\\\\(\d{1,3})', lambda x: chr(int(x.group(1))), data).decode('utf-8')

print(repr(decoded_data))

这就是我们在网站上使用~20种语言的方式。