организации мультиязычности сайта на php+smarty

stasbz

Новичок
организации мультиязычности сайта на php+smarty

Уважаемые форумчане!
Необходимо определиться с реализацией мультиязычностьи сайта.
Некоторые аспекты данного вопроса я уже затрагивал на данном форуме.
Осталось уточнить один момент.
Сайта реализован на php+smarty
Структура сайта (корневая директория)
*.php
ru.templates
en.templates
libs

1)Скрипт позволяет определять язык в URL через такую конструкцию
site.ru/article?id=345&lang=ru
site.ru/article?id=345&lang=en

2)Или как вариант я могу скопировать вышеобозначенные файлы ( шаблоны, libs , php скрипты) в разные папки /ru/ и /en/
site.ru/ru/article?id=345
site.ru/en/article?id=345

Вопрос заключается в том, как лучше сделать?

1. вопервых очень важна грамотная индексация сайта поисковой системой !
2. вариант 1) я вообще в инете не встречал. Если взять сайты известных брендов, то все делают по 2) варианту.
3. во втором случае 2) (вариант с разными папками) проблем не будет с работой скрипта (подключение в обоих случаях идет к одной БД)?
 

HraKK

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

Crys

Двинутый новичок
2)Или как вариант я могу скопировать вышеобозначенные файлы ( шаблоны, libs , php скрипты) в разные папки /ru/ и /en/
3)Можно не копируя отрыть для себя тот же mod_rewrite
 

stasbz

Новичок
Возможно и так. Я просто прошу совета. Мне достался данный скрипт, вот теперь возникают вопросы. К сожалению обратиться к программисту , который писал не могу по объективным причинам. прошу совета на данном форуме.

-~{}~ 15.02.10 11:52:

Автор оригинала: dimagolov
Это третий заход в тему. Второй тут и там автор ничего не понял.
Ну почему не понял. вы мне напиисали
stasbz, ты реши для себя. Ты хочешь сделать 2 независимых сайта с похожим контентом, или один сайт с 2-я локализациями? Потому что две директории со своим кодом, либами и шаблонами, это уже 2 сайта. Разных.
п.с. я вот еще не понял логику держать русские шаблоны в английском сайте, ну да ладно. похоже неспособность написать правила реврайта заставляет автора играться с папками и скриптами подстраиваясь под те правила, что у него есть сейчас. wag the dog, короче.

Не знаю как лучше, возможно предпочел бы "один сайт с 2-я локализациями"
И вы мне предлагаете это реализовать с помощью реврайта!
Других решений нет?

-~{}~ 15.02.10 12:01:

Автор оригинала: Crys
3)Можно не копируя отрыть для себя тот же mod_rewrite
Предлагаете использовать данные запросы
site.ru/article?id=345&lang=ru
site.ru/article?id=345&lang=en
для преобразования посредством mod_rewrite в такие адреса:
site.ru/ru/article?id=345
site.ru/en/article?id=345
Так?
 

C_TIGER

Новичок
stasbz
ну если нужно полная мультиязычность(а раз дошло до шаблонов то судя по всему оно так и есть), лучше делать несколько отдельных сайтов
а такие зависимые сервисы как авторизация выносить в отдельный домен
 

stasbz

Новичок
Автор оригинала: HraKK
stasbz
Блин у тебя полная каша в голове. Вначале хотел тебе ответить, но понял что мой ответ тебе ничего не скажет. Поучись вначале что-то простое делать и поразбирай какие-то простенькие цмс, а то твой уровень ну никак не тянет.
Все равно хотел бы выслушать.
БУдьте любезны. может быть кому то тоже поможет.
 

baev

‹°°¬•
Команда форума
C_TIGER, бред не пишите.
Полную мультиязычность можно и на одном шаблоне реализовать.
Тем более, для это не нужны «отдельные сайты»

stasbz, Вам уже неоднократно писали — не надо отдельных шаблонов и отдельных папок для каждого языка.

Есть один шаблон, в который подставляются разные значения переменных (адрес картинки, например, тоже — переменная) в зависимости от языка.
«Зависимость от языка» задаётся get-переменными:
Код:
site.ru/article?id=345&lang=en
Для красоты такие ссылки могут быть оформлены, например, как
Код:
site.ru/en/345
А mod_rewrite эти красивые ссылки преобразует в понятные скрипту
Код:
site.ru/article?id=345&lang=en
Всё.
И в чём сложность? Чего Вы уже третью тему никак понять не можете?
 

stasbz

Новичок
baev
БОЛЬШОЕ БОЛЬШОЕ СПАСИБО. теперь все понял.
Не сразу понял, потому не на том ударение делал с самого начала.
 

baev

‹°°¬•
Команда форума
C_TIGER, уже даже и до тредстартера дошло.
То, что Вы иначе чем «через задницу» не можете это реализовать, — это уже Ваша проблема.
 

dimagolov

Новичок
baev, дойти-то дошло, но не факт, что тема не продолжиться. потому что кто-то ему сделал сайт, где мультиязычности или не было, или она не работала, теперь он пытается без автора ее сделать, но это наверняка потребует программирования, что автор вряд ли осилит. ведь решения класса "3 строки в .htaccess" или "скопировать в папку en и поправить шаблоны" тут однозначно не помогут.
 

stasbz

Новичок
dimagolov
Я же писал в самом начале темы
Скрипт позволяет определять язык в URL через такую конструкцию
site.ru/article?id=345&lang=ru
site.ru/article?id=345&lang=en
Вам тоже спасибо.
 

dimagolov

Новичок
stasbz, ну а кто красивые ссылки генерить будет? ведь они движком сайта должны генериться, а не только пониматься и преобразовываться mod_rewrite в нужные GET-параметры?
 

stasbz

Новичок
В смарти шаблонах есть ссылки в таком виде article.php?id={$article.ID}
я добавлю /en/
/en/article.php?id={$article.ID}
mod_rewrite преобразует в
article.php?id={$article.ID}&lang=en
Все это работает.
 

dimagolov

Новичок
ну если он берет разные шаблоны в зависимости от $_GET['lang'] то да, будет работать.
 

stasbz

Новичок
Проверка показала , что берет шаблоны соответственно из ru.templates или en.templates.
Весь сырбор еще возник из-за того, что для меня важно правильное восприятие сайта поисковой системой.

А сейчас меня больше волнует вопрос производительности.
я написал правило в htaccess
RewriteRule ^en/(.*) $1?lang=en [L,QSA]
Преобразование работает, но ощущение, что сайт немного тормозит.
 

Beavis

Banned
stasbz
ощущениями надо руководствоваться если ты экстрасенсом работаешь...
возьми профайлер и посмотри что тормозит
 

HraKK

Мудак
Команда форума
C_TIGER
Давай ты все таки месяц хотя бы воздержишься от помощи? А, то я в р/о не хочу отправлять.
 
Сверху