Русский English Deutsch Українська Қазақша

Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не вошли.

#1 2010-11-29 12:00:23

FeSs
Участник
Откуда: Сызрань
Здесь с 2010-10-22
Сообщений: 151
Рейтинг :   
Сайт

Многоязычность

Ребят что у нас состоит с многоязычностью на NG CMS?
Как лучше и удобней ее организовать?

Вне форума

#2 2010-11-29 12:19:20

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Многоязычность

Интерфейса - через плагин switcher,новостей - через создание подкатегорий rus, en наверное

Вне форума

#3 2010-11-29 18:28:00

vitaliy1978
Участник
Здесь с 2010-05-11
Сообщений: 45
Рейтинг :   
Сайт

Re: Многоязычность

Wolverine пишет:

Интерфейса - через плагин switcher,новостей - через создание подкатегорий rus, en наверное

Ээээээ. Непонял... А для чего тогда xxx/lang/russian.ini? или задумка на будующее?

Отредактировано vitaliy1978 (2010-11-29 18:30:29)

Вне форума

#4 2010-11-29 18:29:51

vitaliy1978
Участник
Здесь с 2010-05-11
Сообщений: 45
Рейтинг :   
Сайт

Re: Многоязычность

От singledomain и geo привязанности почти избывился. с глюками борюсь. но блин. tpl/russian всегда думал что для разноязыков сделан...

Вне форума

#5 2010-11-29 19:40:30

Евгений
Модератор
Откуда: Россия
Здесь с 2009-04-08
Сообщений: 1,014
Рейтинг :   38 
Сайт

Re: Многоязычность

vitaliy1978, да, он для этого и сделан, но для новостей разно языковое наполнение пока что не реализовано, увы, то есть в принципе "есть все, и одновременно нет ничего")


I NGeneration CMS

Вне форума

#6 2010-11-29 22:30:51

FeSs
Участник
Откуда: Сызрань
Здесь с 2010-10-22
Сообщений: 151
Рейтинг :   
Сайт

Re: Многоязычность

Хотелось бы нибудь по адрессу site.ru/en/ или site.ru/ru/ да и еще с возможностью создания других языков....такой плагин я ставил на drupal, но т.к сам движок ужасно тяжелый, плагин тоже был ужасно тяжёлый, но рабочий о_О

Вне форума

#7 2010-11-29 23:24:48

d7p4x
Модератор
Здесь с 2008-10-13
Сообщений: 199
Рейтинг :   
Сайт

Re: Многоязычность

Вопрос решается грязными хаками в два или три счета =)

Вне форума

#8 2010-11-29 23:45:24

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Многоязычность

И? Выкладывай хаки

Вне форума

#9 2010-11-30 16:25:32

d7p4x
Модератор
Здесь с 2008-10-13
Сообщений: 199
Рейтинг :   
Сайт

Re: Многоязычность

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

Вне форума

#10 2010-11-30 17:30:27

FeSs
Участник
Откуда: Сызрань
Здесь с 2010-10-22
Сообщений: 151
Рейтинг :   
Сайт

Re: Многоязычность

d7p4x, было бы замечательно, очень ждем о_О

Вне форума

#11 2010-11-30 17:30:56

d7p4x
Модератор
Здесь с 2008-10-13
Сообщений: 199
Рейтинг :   
Сайт

Re: Многоязычность

Оказалось все очень быстро.

Итак: у меня пока что 2 языка, их идентификаторы 1 и 2

1. engine\news.php  находим функцию news_showlist
вставляем после например global **

if (!$cook=$_COOKIE['sw_template']) $cook=1;

Здесь 1 - код значения по умолчанию, если пользователь у нас первый раз.
Находим строку

$query['sql']		=	$query['where']." AND approve = 1";

заменяем на

$query['sql']		=	$query['where']." AND approve = 1 AND f_lang=".$cook;

2. engine\actions\addnews.php функция news_add()

вставляем после $SQL['allow_com']    = $_REQUEST['allow_com'];

$SQL['f_lang']	= $_REQUEST['f_lang'];

3. engine\actions\editnews.php функция editNews()

находим $SQL['catid']     = $cats;

после вставляем 

$SQL['f_lang']	= $_REQUEST['f_lang'];

Здесь же ищем функцию editNewsForm()
меняем 'views'                =>    $row['views']

на         

'keywords'			=>	secure_html($row['keywords']),
		'views'				=>	$row['views'],
		'f_lang'			=> 	$row['f_lang']

4. engine\skins\default\tpl\addnews.tpl
Например перед [/options] вставляем:

<br /><input type="text" name="f_lang" value="1" size="10" maxlength="5"/> <label for="flag_HTML">Язык новости</label>

4. engine\skins\default\tpl\editnews\edit.tpl
Перед </td>[/options] вставляем:

<tr>

<td><input type="text" name="f_lang" value={f_lang} size="10" maxlength="5"/> <label for="flag_HTML">Язык новости</label></td>

<td width="30"></td>

<td width="30"></td>

</tr>

5. Выполняем в phpmyadmin запрос:

ALTER TABLE  `ff__news` ADD  `f_lang` INT NOT NULL

Теперь при создании новости указываем просто номер языка, и все, будут выводится только те новости, которые имеют язык такой же как и язык интерфейса.

upd1: забыл указать что при выполнении запроса в phpmyadmin ff__news надо поменять на свой префикс_news=)
пример работы можно посмотреть на сайте в профиле "веб-сайт".

Вне форума

#12 2010-11-30 19:24:38

KhadeR
Участник
Здесь с 2009-09-16
Сообщений: 207
Рейтинг :   17 

Re: Многоязычность

d7p4x, все ОК, только желательно сразу в $_COOKIE['sw_template'] записывать значение, а то получается:


Linkum
В ТОП без фильтров и банов - Оптимизм.

Вне форума

#13 2010-11-30 20:02:32

d7p4x
Модератор
Здесь с 2008-10-13
Сообщений: 199
Рейтинг :   
Сайт

Re: Многоязычность

О, спасибо

Вне форума

#14 2010-11-30 20:56:00

FeSs
Участник
Откуда: Сызрань
Здесь с 2010-10-22
Сообщений: 151
Рейтинг :   
Сайт

Re: Многоязычность

d7p4x, при изменения язык меняются новости и приветственная надпись, а менюшка нет. Как сделать что бы менялась?
и как собственно ты изменяешь приветственную надпись

З.Ы пока не ставил твой хак, просто интересуюсь

Вне форума

#15 2010-11-30 21:19:32

d7p4x
Модератор
Здесь с 2008-10-13
Сообщений: 199
Рейтинг :   
Сайт

Re: Многоязычность

Менюшку я еще не доделал ) Она у меня выводится простым html в шаблоне. Вернее ее скорее всего и не будет, а вот верхнее меню меняется как и положено.

Вне форума

#16 2010-11-30 21:33:07

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Многоязычность

Разве не имелось ввиду у ОДНОЙ новости НЕСКОЛЬКО языков. А тут N новостей (N - количество языков) с полным дублированием полей в таблице news.  Плагины типа top_news будут выводить все N новостей
, счетчик новостей в категории будет показывать в N раз больше новостей и т.д.

Действительно грязный)))

Вне форума

#17 2010-11-30 22:37:15

FeSs
Участник
Откуда: Сызрань
Здесь с 2010-10-22
Сообщений: 151
Рейтинг :   
Сайт

Re: Многоязычность

Мне кажется тут не хак нужен, а полноценный плагин с возможностью создавать любое количество языков, у которых будет свой адрес www.site.ru/en/ . С Возможностью ручками менять все надписи на сайте.

Вне форума

#18 2010-11-30 23:59:07

d7p4x
Модератор
Здесь с 2008-10-13
Сообщений: 199
Рейтинг :   
Сайт

Re: Многоязычность

Wolverine, так то да, но какая разница будет N новостей, или одна новость и N Дополнительных полей для других языков? Да это я считаю и не рационально делать отдельные поля для языков, это капец страница добавления новости растянется.
Top-news тоже немного отредактировать чтобы показывал новости только с включенным языком, думаю там нет проблемы.

Я привел быстрый хак, если надо разделить новости на языки в дополнение к плагину switcher, по-моему довольно быстро и без большого количества кода. Был вопрос - я привел свое решение, которое работает и в полной мере отвечает на тему топика. Других решений все-равно не видно )

FeSs, какая разница хак или плагин, тут быстро поправить 5 файлов и все если действительно необходима многоязычность, если не к спеху, то да можно подождать плагин. У меня идей про плагин нет, если только он будет выступать в качестве шлюза(по сути тот же news.php только с анализом флага языка новости), других путей я вот не вижу, кроме как редактирования show news (). 

Есть еще мультидомены, я думал в начале через них, но не смогу разобраться в логике работы этой фичи и сделал "как смог".

Вне форума

#19 2010-12-01 02:09:53

FeSs
Участник
Откуда: Сызрань
Здесь с 2010-10-22
Сообщений: 151
Рейтинг :   
Сайт

Re: Многоязычность

d7p4x, спасибо тебе и за это :)

Вне форума

#20 2010-12-02 20:54:40

d7p4x
Модератор
Здесь с 2008-10-13
Сообщений: 199
Рейтинг :   
Сайт

Re: Многоязычность

Еще можно сделать дописки к alt_name вида _ru и _en то тогда будет все намного проще =)

Вне форума

#21 2011-04-23 13:00:54

legenda
Участник
Откуда: ua
Здесь с 2009-12-22
Сообщений: 2,151
Рейтинг :   39 

Re: Многоязычность

d7p4x, чтото я несовсем понял, и на твоем сайте чтото невижу 2 языков, шаблон то меняется но это ж не проблема, а новости теже что и на руском что и на анг.

меня интерисует если в админке один интерфейс, сайт надо на 3 языках такое возможно, и как?
- надо 3 новости заполнять?
- надо 3 категории на разных языках?
- как состоит дело с плагинами, тегами, комментариями и т.д. ?

Отредактировано legenda (2011-04-23 13:02:27)

Вне форума

#22 2011-04-23 15:02:57

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Многоязычность

По хорошему для каждого нового языка необходима еще одна колонка в таблице news, типа content_ID_Языка, тогда комментарии будут только в одной новости. Но смысл смешивать русские и английские каменты? Подходы в общем разные для разных задач, многоязычные в основном корпоративные сайты, на новостных не видел, чтобы одна публикация на разных языках была...

Вне форума

#23 2011-05-04 16:19:41

legenda
Участник
Откуда: ua
Здесь с 2009-12-22
Сообщений: 2,151
Рейтинг :   39 

Re: Многоязычность

а для какай версии это решение? чтото я половну тех пунктов что ту описано найти немогу

Вне форума

#24 2011-05-04 16:32:16

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Многоязычность

Для любой, что не можешь найти?

Вне форума

#25 2011-05-18 04:47:52

legenda
Участник
Откуда: ua
Здесь с 2009-12-22
Сообщений: 2,151
Рейтинг :   39 

Re: Многоязычность

Ну например такого файла
1. engine\news.php впринципе нету,
а если имеется виду engine\includes\news.php то в нем нету

$query['sql']        =    $query['where']." AND approve = 1";

дальше тоже самое, но мне походу такой вариант и не подходит поэтому не продолжаю.
---

На счет двуязычия то у меня также есть проблема такая, решыл таки сделать 2 языка, походу наиболее "нормальным" вариантом вижу установка такогоже движка на субдмен, з других вариантов что на форуме обсуждаются ни один не работает на 100%, даже на 70% нереально, если сами новости и дизайн можна както сделать то с плагинами ниче не получится полюбому.

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

возможно ли еще както с изобажениями чтото придумать чтоб закидивать не на оба сайта а на один

кто может помочь?

Отредактировано legenda (2011-05-18 05:53:17)

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.047 сек, 7 запросов выполнено - Использовано памяти: 621.31 Кбайт (Пик: 674.31 Кбайт) ]