вопросы о том, как сделать мультиязычный сайт максимально быстрым и эффективным - PullRequest
0 голосов
/ 17 февраля 2012

Я делаю сайт для компании, и им требуется французский и английский языки.

У меня есть несколько теоретических вопросов, которые помогут мне руководить моим развитием. Клиентура находится в основном в отдаленных районах, где по-прежнему преобладает набор 56 Кбит / с, поэтому ключевым является небольшой размер загружаемого материала / возможность повторного использования материала.

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

Мой главный вопрос: нужно ли хранить языки в БД и использовать переменные сеанса? (Я подозреваю, что это самый медленный) или в языковой файл и использовать URI с языковым классом?

Кроме того, если я автоматически загружаю языковой файл, означает ли это, что он будет храниться локально, что сводит использование полосы пропускания к минимуму?

Ответы [ 2 ]

1 голос
/ 18 февраля 2012

Сведения о языке будут иметь такое незначительное влияние на время загрузки по сравнению с любыми изображениями, которые может обслуживать сайт.Если вы хотите избежать доли секунды, необходимой для запроса языка из базы данных, вы можете закодировать сайт так, чтобы он обслуживал весь сайт в виде простого текста, что может быть достигнуто многими способами.

www.somesite.com / fr / vs. www.somesite.com/en/

Или используйте любой из методов, которые вы упомянули в своем сообщении.

Моя точка зрения заключается в том, что изображения - это ваши главные накладные расходы.,Вы можете вырезать все изображения со страницы и самостоятельно выполнить тесты, чтобы увидеть, что независимо от того, как вы работаете с языком - из базы данных или файла / класса вы смотрите на разницу в миллисекунды даже на 56 КБ.Предполагая, что ваши страницы имеют нормальный размер, а не сотни тысяч строк.Загрузка одного небольшого изображения, вероятно, займет больше времени, чем весь текст на вашей странице.

1 голос
/ 18 февраля 2012

Ваш план верхнего / нижнего колонтитула будет работать только с использованием фреймов и даты истечения срока давности (хотя, я полагаю, отправка заголовка 304 в соответствии с If-Modified-Since все равно поможет).Конфигурация языка CI на стороне сервера.Это никак не связано с пропускной способностью на стороне клиента.

Большая часть того, о чем вы говорите, связана с заголовками ответов.Yahoo и Google создали большие ресурсы для этой информации.

...