0

Yii2で多言語サイトを作成することは可能ですか?また、URLは翻訳されていますか?例:Yii2多言語URL

mysite.com/anmeldung 
mysite.com/en/login 

両方のURLが同じコントローラ/アクション(例えば、サイト/ログイン)を指している必要があり、しかし言語が尊重されるべきである - 第1のいずれかがデフォルト言語である、第二つ

EN =英語であります

また、URL Url::to('site/login')を作成する場合は、現在の言語に応じて正しい翻訳URLを作成する必要があります。

これは標準的な問題だと思いますが、解決策やプラグインを見つけることができませんでした。私が見つけたすべてのプラグインは、URLスラッグのfronに言語パラメータを追加するだけでしたが、すべての言語で同じURLスラッグを使用していました。

ありがとうございました。おかげさまで

答えて

0

\yii\web\UrlRuleInterfaceを実装するクラスを作成して、カスタムUrlRuleを作成することができます。

リクエストを解析するときに、言語を取得してパラメータとして新しいルートとともに返します。その後、コントローラの動作に言語設定を保存します。

urlを作成するときは、現在格納されている言語を使用してurlを構築します。

実装はアプリケーション固有であり、実装するユーザーによって異なります。

+0

理論的には簡単です。どんな例?言語パラメータを管理するために[yii2-localeurls](https://github.com/codemix/yii2-localeurls)を使用したかったのですが、URLスラッグを保存する場所はどこですか?どのように簡単にURLの設定でそれらをintergratするには? – Asped

+0

私はyii2-localeurlsを使ったことがありませんが、yii2ローカリゼーションモジュールのデフォルトを使用していると思います。ローカリゼーション設定で翻訳を保存しようとしましたか? – dieend

+0

問題は、URLスラッグを「翻訳」することです。それは悪い考えではないかもしれませんが、それを使用しません。 – Asped