Каков наилучший способ использования нескольких языков на веб-сайте? - PullRequest
5 голосов
/ 08 января 2012

Мне было интересно, что будет лучшим способом создания многоязычного веб-сайта на основе шаблонов.Скажем так, я хочу предложить свой сайт на английском и немецком языках, есть несколько разных методов.Мой интерес в основном связан с SEO, так что это был бы лучший способ для поисковых систем.

Первый способ, который я часто вижу, - это использование разных каталогов для каждого языка, например www.example.com для английского и www..example.com / de / для немецкого перевода.Недостатком этого является то, что при изменении файла ist нужно менять в каждом каталоге вручную.А для поисковых систем эти два каталога будут рассматриваться как дублированный контент, не так ли?

Второй способ, который я знаю, это просто использовать какое-то значение GET, например www.example.com?lang=de, и затем установить cookie.Но таким образом поисковые системы, вероятно, даже не найдут разные языки.

Так есть ли другой способ или какой из них лучший?

1 Ответ

6 голосов
/ 08 января 2012

Я работал на интернационализированных сайтах до этого года. Мы всегда получали советы от SEO-гуру, чтобы различать язык по URL - так, www.example.com/en и www.example.com/de.

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

Обратите внимание, что если ваш сайт обслуживает несколько стран, вы должны обрабатывать их вместе с языком, поэтому у вас могут быть example.com/de-DE, example.com/en-GB, example.com/en-IE и т. Д. .

Однако это не должно включать дублирование. Вместо этого вы должны настроить приложение на обработку URL-адреса, извлечь информацию о локали и затем перенаправить запрос внутренне на независимую от локали страницу. Итак, запрос example.com/de-DE/info и запрос example.com/en-IE/info должны быть оба переданы в /info.jsp (или я предполагаю, что info.php в вашем случае). Затем эту страницу следует кодировать для выдачи текста на соответствующем языке, используя механизм локализации на уровне страницы.

Все немного сложнее, если вы хотите, чтобы сами URL-адреса были локализованы (например, example.org/de-DE/anmelden vs example.org/en-IE/sign-in). Однако применяется тот же принцип: извлеките локаль, а затем перешли на общую страницу. Разница в том, что должно быть больше изощренности в выяснении того, что это за страница по URL; вам понадобится сопоставление естественного языка в URL-адресе с именем файла страницы.

...