多語言情況下,如何識別路由上的語言,比如博客支持多語言,路由如下:
法語:http://127.0.0.1:8787/app/fr/blog/xxxx
意大利語:http://127.0.0.1:8787/app/it/blog/xxxx
請問通過什么方式進行配置可以實現(xiàn)此類功能?
http://m.wtbis.cn/doc/webman/components/translation.html#%E4%B8%BA%E6%AF%8F%E4%B8%AA%E8%AF%B7%E6%B1%82%E6%98%8E%E7%A1%AE%E7%9A%84%E8%AE%BE%E7%BD%AE%E8%AF%AD%E8%A8%80
按照手冊寫個中間件設置就好了,手冊里通過session判斷,你改成通過正則匹配 $request->path() 判斷
謝謝回答,上面舉的例子有些出入,應該是:
法語:http://127.0.0.1:8787/fr/blog/xxxx
意大利語:http://127.0.0.1:8787/it/blog/xxxx
在路由改寫隱藏掉/app前綴后,通過path實現(xiàn)語言自動匹配功能,使用中間件可以通過正則表達式來實現(xiàn),但如何與路由相匹配呢,/blog/xxxx是實際的路由,/fr是語言,但$request->_data['path']并不可寫,如何從path(/fr/blog/xxxx)中得到語言并切換后,改寫path為/blog/xxxx,才能與真正的路由匹配?
路由改寫隱藏掉/app,你用什么改寫的?如果是nginx改寫,可以順便加一個http頭,比如 Lang: fr,中間件里$request->header('lang'); 讀取就行了
webman自帶路由改寫隱藏掉/app,其實/fr、/it是一個參數(shù),比如language=fr,可以通過nginx改寫規(guī)則實現(xiàn),只不過還要寫一個route生成url的助手函數(shù)來改寫language=fr實現(xiàn)網(wǎng)頁內(nèi)所有href的鏈接轉(zhuǎn)換成/fr/blog/xxxx,而默認為中文時,路由為/blog/xxxx