Интернализация i18n codeigniter 2 - PullRequest
0 голосов
/ 13 августа 2011

Я использую интернационализацию i18n ci.

Перевод в порядке, но домашняя страница всегда сохраняет язык по умолчанию навигатора.

Например, я нажимаю на ссылку для перевода (например, испанский) это нормально, но если я нажму на домашнюю ссылку, мой испанский перевод будет заменен на английский (firefox по-английски по умолчанию)

Пожалуйста, не могли бы вы мне помочь?


Спасибо Сукунар, Когда я использую интернализацию i18ci, он автоматически перенаправляет с субдомена.Например: Firefox с английским языком, таким как язык по умолчанию, мой дом будет автоматически: "http://localhost:8888/mysite/en/home" Если я выберу перевод, например, французский, он станет:" http://localhost:8888/mysite/fr/home" Если я нажму на ссылку, язык будет сохранен.Например: ссылка на страницу подписки будет выглядеть так: «http://localhost:8888/mysite/fr/translate" Если я вернусь на мою домашнюю страницу со ссылкой, это будет язык браузера по умолчанию, а выбранный язык исчезнет.

Это мойfile: Applications / config / routs:

$route['default_controller'] = "site";
$route['404_override'] = '';
//URI like '/en/about' -> use controller 'about'
$route['^(en|fr)/(.+)$'] = "$2";
$route['^(en|fr)$'] = $route['default_controller'];

Могу ли я что-то изменить в другом файле? и если это так, то как и что?

1 Ответ

0 голосов
/ 14 августа 2011

Вам необходимо использовать сеансы для хранения языка пользователя. Перед загрузкой страницы получите язык пользователя из сеанса и отобразите соответствующий контент.

Кроме того, вы можете использовать другую структуру URL или субдомены для разных языков. В этом случае вам необходимо убедиться, что все ваши ссылки отражают изменение языка. Это также рекомендуется с точки зрения SEO, поскольку веб-сканеры смогут получить доступ к этим данным.

Например,

site.com - по умолчанию, на английском

es.site.com - для конкретного языка, на испанском site.com/es

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...