Понимание MVC на конкретном примере

Nelius

кипарис во дворе
Автор оригинала: boombick
а чем gettext-то не устраивает?
Ну не нравится мне он)))
А если серьезно, то хотелось бы взгянуть на уже созданные CMS или CMF которые используют gettext.
Мой опыт это мой опыт, он субъктивен, но может я просто не понял всей хорошести gettext...
Щас попробую поиск заюзать...
 

boombick

boombick.org
но может я просто не понял всей хорошести gettext...
посмотри на локализации unix-софта.. ТОже через gettext частенько сделаны. Не, я согласен, что они кривые в большинстве случаев, но это вина не геттекста, а переводчиков :)
gettext - достаточно мощный инструмент для i18n
 

HraKK

Мудак
Команда форума
Хорошая реализация у vamshop
{config_load file="$language/lang_$language.conf" section="boxes"}
 

AmdY

Пью пиво
Команда форума
gettext действительно идеальное решение, но кажется не на всех серваках он стоит, а познакомившись с вин хостингом, я подозреваю, что договариваться придётся долго
 

Alexandre

PHPПенсионер
Точнее сказать я решил что хранить и импортировать я их буду в XML, а потом админка генерит уже из них файлы с массивами, то есть и юзерам удобно с ними работать и мне в пхп не приходится XML парсить.
А не я ли эту идею подсказал пару недель назад?
 

Nelius

кипарис во дворе
Автор оригинала: Alexandre
А не я ли эту идею подсказал пару недель назад?
Да, идея ваша, за что вам большое спасибо, только я не использую XSLT =)
Я указываю в комментариях к коду, ники людей чья была идея или кто подсказывал как оптимизировать код. Когда заработает сайт в разделе благодарностей обязательно никого не забуду! =)
И вообще я позволяю себе задавать вопросы тут довольно часто только потому что проект OpenSource и результат будет доступен всем, если бы писал коммерческий проект не стал бы ибо не имею права тратить время людей на то, за что я получу деньги.
 

HraKK

Мудак
Команда форума
OpenSource проекты самые денежные проекты, только многие этого еще не поняли :)
 

Nelius

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

-~{}~ 16.11.07 18:51:

Автор оригинала: HraKK
OpenSource проекты самые денежные проекты, только многие этого еще не поняли :)
Согласен, и некоторые дистрибутивы линукса тому подтверждение, но изначально проект задумывался как некомерческий.
А если он станет когда-нибудь приносить приносить доход, то я думаю будет справедливо "разделить" его между теми людьми кто так или иначе принимал участие в разработке, например ввиде акций... Эх... идеалист я))))
 

AmdY

Пью пиво
Команда форума
Мне интересно, религия что-ли запрещает людям пользоваться готовыми решениями, например у Zend Framwork есть своё решение, а если порыться в http://www.phpclasses.org/, то там много чего найти. ООООО, ZoneAlarm нашёл спая :(
 

Nelius

кипарис во дворе
Автор оригинала: AmdY
Мне интересно, религия что-ли запрещает людям пользоваться готовыми решениями, например у Zend Framwork есть своё решение, а если порыться в http://www.phpclasses.org/, то там много чего найти. ООООО, ZoneAlarm нашёл спая :(
Сайтик знаю хожу туда частенько) Я буддист... =)
Ну а если серьезно то хочется изобрести еще один велосипед, в процессе поиметь опыт и кайф от кодинга)
А вдруг че нормальное напишу ;)
 

cDLEON

Онанист РНРСlub
А у меня идея была такова...
Как в гетТексте...
Имеется ф-я __("Это результат перевода ф-ей '%s'" [,"__()",...]);
И т.д. При чём есть она у меня и в шаблонизаторе.
Данные для неё извлекаются из языковых файлов классом типа синглтон и бросаются в один общий массив, откуда их и достаёт ф-я __();
А сгенерить новый языковой шаблон можно будет - парсингом всех типов файлов, в которых эта ф-я может появиться (шаблоны и т.д.)

-~{}~ 16.11.07 23:00:

Меня другой вопрос интересует. Моя КМС строится на понятии "модульность". Т.е. модуль может быть, а может и не быть. Для разных модулей может быть одинаковой какая-нибудь фраза...Следовательно - эти фразы будут дублироваться. Тоже самое и с шаблонами. Хочется свести до минимума копипастинг кода и прочего.
И ещё...Интересует расходуемая память. Если модуль будет обширен и будет иметь кучу всевозможных строчек, которые нужно будет перевести, количество расходуемой памяти (впрочем как и время поиска по списку) будет расти прямопропорционально количеству данных в массиве. Что, собственно, не очень нравится...
 

Alexandre

PHPПенсионер
все нижесказанное оффтопик :)
И вообще я позволяю себе задавать вопросы тут довольно часто только потому что проект OpenSource и результат будет доступен всем, если бы писал коммерческий проект не стал бы ибо не имею права тратить время людей на то, за что я получу деньги.
а почему бы и нет? Какая разница проект OS или Commerce? Если есть возможность и время помочь человеку - а почему бы и нет?
OpenSource проекты самые денежные проекты, только многие этого еще не поняли
+1
что каждый из нас может поиметь от OS на сегодня - так это прежде всего реклама (самого себя, ну и своего проекта естественно). По этому большинство моих разработок OS.
Когда заработает сайт в разделе благодарностей обязательно никого не забуду! =)
А вот это будет действительно приятно...
Ну а если серьезно то хочется изобрести еще один велосипед, в процессе поиметь опыт и кайф от кодинга)
если есть время на изобретение велосипедов - то ты счастливый человек.
 

Nelius

кипарис во дворе
Alexandre
а почему бы и нет? Какая разница проект OS или Commerce? Если есть возможность и время помочь человеку - а почему бы и нет?
Ну возможно вы и правы) но меня бы совесть все равно бы мучила)

если есть время на изобретение велосипедов - то ты счастливый человек.
К сожалению как и у любого современного человека, времени всегда нехватает, да и жить на что-то надо.
Но если есть цель, то всегда найдутся пути ее достижения, могу поработать пару месяцев, поднакопить и месяц заказы не брать, посвятить это время работе над CMS. Что я собственно говоря щас и делаю)

cDLEON
А у вас данные извлекаются только для выбранного языка или как? Честно говоря не до конца понял как у вас все устроенно, без примера сложновато мне... Но интересно понять как у вас все реаллизовано. А вообще это чтож за модули там у Вас такие что столько данных? У меня типовой модуль это самый максимум на A4 данных ну 4-5килобайт)
 

cDLEON

Онанист РНРСlub
Nelius
Ну естественно для выбранного языка.
Файл с лангом у меня на ПХП. Т.е. $LANG['йа фраза каторую нужно перевести'] сбрасывается в общий $LANG массив. Откуда его берёт моя __().
Вообще, глядя на все варезные КМС (вроде битрикс, умикмс), моя проблема высосана из пальца. Но всё же... Мне жалко память...Чем больше переводимых строк, тем больше нужно памяти.
А вообще это чтож за модули там у Вас такие что столько данных? У меня типовой модуль это самый максимум на A4 данных ну 4-5килобайт)
Та я не про модули говорю, а про перевод для них. Про то, что некоторые переводимые фразы вообще не понадобятся для текущего вывода 8)
 

Nelius

кипарис во дворе
Та я не про модули говорю, а про перевод для них. Про то, что некоторые переводимые фразы вообще не понадобятся для текущего вывода 8)
Так я тоже про перевод для них, но я подумал чем больше сам модуль и чем больше он всего умеет тем более "общительным" он зачастую является, поэтому и спросил неужели языковых данных для модуля больше 5 килобайт? =)
А вообще смотри как получается, если ты хочешь отсеять те фразы которые для вывода не понадобятся, во первых ты потратишь на это процессорное время, во вторых например у меня есть сообщения об ошиках, я же не могу угадать что ввел юзер и какая ошибка мне понадобится) Вернее могу, но у меня данные берутся до обработки юзер инпут, если брать после и выборочно то это опять же процессорное время и расход других ресурсов...
 
Сверху