Локализация сайта - PullRequest
       10

Локализация сайта

0 голосов
/ 13 ноября 2010

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

Моя текущая идея:

в зависимости от локали браузера пользователя (может быть, геолокация IP-адреса, но я предпочитаю локаль браузера) выберите поддоменНапример, "fr.myweb.com".Установите cookie, переменную сеанса, в зависимости от настроек языка.Эта часть довольно проста.

Теперь перейдем к переводческой части.Изменение изображений в зависимости от языка не будет проблемой, так как достаточно префикса "_fr".Но переводить строки, такие как сохранить изменения, поиск, элементы заказа и т. Д.Ну, я не уверен здесь.

Поскольку все это основано на PHP и MySQL, я думал о чем-то вроде:

Две таблицы:

  1. Перваяимеет список всех слов на языке по умолчанию
  2. Второй имеет три столбца (исключая автоинкремент) - language_id, translation, word_id

Получить все слова, кэшировать запрос или что-то ещевызов trans ('fr', 'search') переведет слово.Это должно работать, хотя я не знаю, правильный ли это подход или есть ли лучший способ.Примечание: нет переводов Google.

Кроме того, поскольку я использую js / ajax, я также не уверен насчет этой части.Получите язык из cookie и создайте карту предупреждений и т. Д., А затем просто назовите «message ['fr']», я тоже не уверен насчет этой части.

Любые идеи, которые были бы идеальными для обоихязыки?Я попробовал Google, но не был удовлетворен результатами.Любой совет / ссылка приветствуется.

С уважением

1 Ответ

1 голос
/ 13 ноября 2010

Посмотрите Gettext для PHP: http://php.net/manual/en/book.gettext.php. Это де-факто стандарт для перевода веб-контента. Обычно вы создаете файлы перевода (вы можете использовать, например, Poedit ), указывать на них PHP, устанавливать языковой стандарт на все, что вам нужно, и использовать _( 'string to translate' ) для получения переводов.

...