Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010
Помог: 1 раз(а)
На фреймворке CodeIgniter стоит задача сделать в проекте 2 языка, восновном проект виде блога, как праивльно релизовать локализацию проекте. На сколько я знаю есть библиотека которая отвечается за локализацию, но структуру БД как сделать? Делать так: т.е. у меня таблица "материалы" и там етсь поле "Название", т.е. добавить ещё одно поле для второго языка? А если язывок будет больше, тогда столько же поле добавлять? Как то праивльно не лзя сделать.
спс.Ув.
DeepVarvar
Отправлено: 09 Октября, 2011 - 00:37:42
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Нее, к самим документам никаких полей не надо добавлять.
Если админу будет надо - пусть создает страницу с англицким названием и текстом внутри и вкладывает её в РАЗДЕЛ английской версии сайта.
Создаст раздел с URL = "/en/" и туда все англицкие вкладывает.
Поддержку языков нужно делать на кнопках формы, алертах, варнингах, приветствиях...
Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010
Помог: 1 раз(а)
Хмм примерно понял о чём вы, но напр елси надо сделать перевод Разделов, категории, подкатегории, меню....
DeepVarvar
Отправлено: 09 Октября, 2011 - 01:18:17
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Структура сайта - это дерево разделов.
Если нужно - пусть пишут и создают разделы на тех языках, на каких им надо.
Ваша задача - реализовать возможность создания разделов и страниц любой вложенности. (Добавление)
Или вы меню и названия разделов хотите прописать "костылями" прямо в шаблоне?
Зачем тогда вообще взяли в руки CI, наверстали бы хтмл-статики..
----
Генерируйте все с учетом локали пользователя.
Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010
Помог: 1 раз(а)
Вот именно не очень понимаю по кокой структуре их держать, есть список категории на русском а надо что бы было и на англиском. так в таблице категории если не делать доп. поле для второго языка, тогда как можно по другому.
меню не костыто в шаблоне, он через запрос выводится с базы.
DeepVarvar
Отправлено: 09 Октября, 2011 - 14:13:47
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
pantela пишет:
он через запрос выводится с базы
Ну так пусть запросом выводит английское меню для английской версии, а русское для русской.
Нужны ДВЕ реальные копии всех страниц, одна русская, другая английская.
Причем русских страниц может быть другое кол-во.
Неужто я непонятно объясняю?
Генерируйте меню из тех названий разделов, которые нужны..
Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010
Помог: 1 раз(а)
Некоторые мне говорять делать много таблиц и в каждой таблице держи записи (материалы) по языкам, некоторые говорят все записи (материлалы) держать в одной таблице и по полю определять какому языку относится материал.
Вот и запутался на что делать склоноть на материалы или на таблицы.
Как вобще правильно сконструиктировать БД под мультиязыковый сайт.
DeepVarvar
Отправлено: 11 Октября, 2011 - 02:43:35
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Все просто.
Есть таблица с документами.
id,parent,name,link,h1,menu,full
(айди,айди родителя, имя в меню, ссылка на документ,h1 заголовок,к какому меню относится, текст страницы)
Не важно сколько языков будет на сайте.
Создаете раздел (документ) с ссылкой = "/" и в него кладете все документы на русском.
Создаете раздел (документ) с ссылкой = "/en/" и в него кладете все документы на английском.
Создаете раздел (документ) с ссылкой = "/china/" и в него кладете все документы на китайском.
Выводите языковые ссылки на эти разделы и все.
Кто как и какими статьями будет эти разделы заполнять - не ваше дело.
Захотят - еще один раздел на французском добавят.
А сам язык интерфейса (кнопок, приветствий, действий, системных сообщений) пусть юзеры выбирают руками (куки/сессии) или в профиле.
Вам всего лишь нужно реализовать дерево документов. (Добавление)
Как много в этом "всего лишь"...
Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010
Помог: 1 раз(а)
Причём тут дерево Когда у меня вопрос стоит о том как всё информацию хранить в БД. т.е.
Напр. таблица материалов 3 варианата я вижу
1. id | title_rus | title_eng | text_rus | text_eng - т.е. вывод будет взависимости от поля title_rus или title_eng - Но при этом у нас много полей в таблице будет
2. id | title | text - т.е. пол ID записи будет определятся какому языку относиться язык - Но при этом у нас записей будет в таблице
3. id | title | text и ID | items_id | lang - т.е. 2 таблицы будет и вторая таблица будет опеределять какому языку отнести даную запист, а определение будет по полю items_id, - Но тут будет одинаковое количество записей и п в одной таблице и в другой, и по JOIN Будет связка
4. id | title_rus| text_rus и id | title_eng | text_eng - т.е. 2 таблицы и каждый язык отвечает за свою таблицу - Но при этом у нас будет много таблиц, но все записи будут по папкам языков.
Так какой вариант выбрать, или я не все перечислил ещё Сайт на 2 языках плонируется, восновном будут много материалов, тут какая нагрузка будет у кого сомжите по порядку перечислить виде %, + какой вариант более гибкий потом при доп. доработках проекта.
Дайте пожалуйсто ответ коректный нуббу, не решусь как делать.
спс.Ув.
DeepVarvar
Отправлено: 11 Октября, 2011 - 16:09:35
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.