2

私はサイトを持っています。en、tr、ar、sp などの複数の言語をサポートするために開発する必要があります。

しかし、問題は、Codeigniter でそれを行う最善の方法は何ですか?

私はコントローラー( SITE )を持っています。私は(ホテル、都市、ページ、ブログ)のように多くの機能を持っています

このメソッドの前にセグメント ( language ) を追加したい。これは古いリンクです

http://example.com/hotel/mariot
http://example.com/hotel/hilton
http://example.com/city/london
http://example.com/city/paris
...
..

リンクをこのようにしたい

http://example.com/en/hotel/mariot
http://example.com/ar/hotel/mariot
http://example.com/sp/hotel/mariot
http://example.com/tr/hotel/mariot
http://example.com/en/city/london
http://example.com/ar/city/paris
....
..

すべての言語にコントローラーがあると考えることがありますが、可能です...

言語をサポートするためにすべてのリンクを変更する最善の方法は何ですか?

申し訳ありませんが、私の質問が明確でない場合は、これが私の英語です。

4

2 に答える 2

2

正しい方法は、routes.php を使用して内部 (application/config/routes.php) を探すことです。

特定の問題に対して正規表現を使用できます。

ここにマニュアルがあります:http://ellislab.com/codeigniter/user-guide/general/routing.html

于 2012-12-30T13:58:51.880 に答える
1

リンクをhttp://example.com/en/somethingのようにしたい場合

その場合、en という名前のプロジェクトにサブドメインまたはフォルダーが必要になる場合があります。しかし、これは完璧な解決策ではありません。

あなたがしなければならないことは、xmlファイルから値を取得する変数に割り当てられたテキスト出力を作成することです。たとえば、「your room number is: 0」というテキストがあり、この値がハードコードされた HTML である場合、en.xml ファイルのいくつかのタグの下に配置し、ユーザーが要求する xml ファイルから取得する必要があります。必要な言語。

前のソリューションをすべての言語で実行できるかもしれませんが、アラビア語は RTL 言語であることを考慮する必要があるため、css でそれを考慮してください。ただし、通常は xml ファイルを使用して言語を制御できます。

それがあなたが必要としていたものであることを願っています。

于 2012-12-30T13:48:57.980 に答える