как работать с несколькими языками на сайте - PullRequest
2 голосов
/ 19 августа 2011

У меня есть сайт, который я перевожу на разные языки.У меня есть содержание переведено и хранится в базе данных.Я также написал в php-файлы различные механизмы, которые будут отображать язык на основе глобального определения, которое я установил в коде.Я счастлив со всем этим.Мой вопрос: как мне управлять этим глобальным определением?

В настоящее время у меня есть переключатель javascript, который устанавливает cookie, а затем перезагружает текущую страницу.И каждая последующая страница просто читает этот cookie, чтобы установить глобальное определение.Это работает очень хорошо, однако я сталкиваюсь с двумя большими проблемами.(1) Я просто не могу получить URL-адрес для отправки кому-то, у кого есть язык (я мог бы сделать что-то вроде domain.com/forwarder.php?lan=spanish&gotopage=page.php, который бы установил cookieа потом вперед, но это некрасиво).И (2), поисковые системы не могут просматривать несколько языков, так как они на самом деле не используют куки и javascript.

Так как мне решить эту проблему?У кого-нибудь есть опыт в этом?Не могли бы вы поделиться своим опытом?

Я склоняюсь к тому, чтобы просто использовать URL и сбросить куки;это кажется популярным среди различных международных сайтов, которые я видел.Так что я думаю, что URL будут:

domain.com/page       (for english, equivalent to domain.com/en/page)
domain.com/es/page    (for spanish)
domain.com/fr/page    (for french)
etc ......

Это хорошая идея?Мне придется пройти через мой код и добавить все мои ссылки с кодом языка, что может быть неприятно.

Так есть ли у кого-нибудь какие-либо комментарии по этому поводу?Это хороший план?Не пренебрегаю ли я чем-то осознанием?

1 Ответ

1 голос
/ 19 августа 2011

Прошло много времени, но вы не можете использовать $ _SERVER ["HTTP_ACCEPT_LANGUAGE"] и установить его автоматически.И перед тем, как написать куки в первый раз, оставьте сообщение на экране на английском или другом языке в массиве с вопросом, является ли это правильным языком, с выпадающим списком доступных языков?После выбора сохраните его в качестве языка веб-сайта по умолчанию.

Вы можете использовать строковые константы в файлах глобальных ресурсов.Иметь только один веб-сайт, который вызывает эти строковые константы на основе текущего языка.

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