From 320f31c5a3e2674d992719bc2a784f13cd7ce6a2 Mon Sep 17 00:00:00 2001 From: freespace Date: Wed, 8 Sep 2004 15:40:47 +0000 Subject: [PATCH] Finished translation of preface.xml. Made my first commit :) --- docs/ru/preface.xml | 122 ++++++++++++++++++++++---------------------- 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/docs/ru/preface.xml b/docs/ru/preface.xml index b4e401f7..28e90b9f 100644 --- a/docs/ru/preface.xml +++ b/docs/ru/preface.xml @@ -4,74 +4,74 @@ Предисловие - Несомненно, один из наиболее часто задаваемых вопросов в списках рассылки по PHP: - как отделить код от представления? - Несмотря на то, что PHP называют "языком, встраиваемым в HTML", после написания - нескольких проектов, где смешаны PHP и HTML, многие понимают, что - разделение формы и содержания - Хорошая Вещь [TM]. Кроме того, во - многих компаниях должности дизайнера и программиста разделены между собой. - Приходится использовать шаблоны. + Несомненно, один из наиболее часто задаваемых вопросов в списках + рассылки PHP - "Как мне сделать свои PHP-скрипты независимыми + от дизайна?". Хотя PHP называют "скриптовым языком, встраиваемым + в HTML", после написания нескольких проектов, в которых PHP и HTML + свободно перемешиваются, многие понимают, что отделение формы от + содержания - это Хорошая Вешь [TM]. Кроме того, во многих компаниях + должности дизайнера и программиста разделены между собой. Так + начинается поиск обработчика шаблонов... - - In our company for example, the development of an application goes on - as follows: After the requirements docs are done, the interface - designer makes mockups of the interface and gives them to the - programmer. The programmer implements business logic in PHP and uses - interface mockups to create skeleton templates. The project is then - handed off to the HTML designer/web page layout person who brings the - templates up to their full glory. The project may go back and forth - between programming/HTML a couple of times. Thus, it's important to - have good template support because programmers don't want anything to - do with HTML and don't want HTML designers mucking around with PHP - code. Designers need support for config files, dynamic blocks and - other interface issues, but they don't want to have to deal with - intricacies of the PHP programming language. + Например, в нашей компании разработка приложения идёт таким образом: + после того, как готова вся проектная документация, дизайнер интерфейса + создаёт макеты и передаёт их программисту. Программист реализовывает + логику приложения на PHP и использует макеты интерфейса для создания + базовых шаблонов. Затем проект передаётся HTML-дизайнеру/верстальщику, + который доводит шаблоны до совершенства. Проект может несколько раз + переходить из этапа HTML-вёрстки к этапу программирования и обратно. + Таким образом, важно иметь хорошую поддержку шаблонов, потому что + программисты не хотят иметь дела с HTML и не хотят, чтобы HTML-дизайнеры + копались в PHP-коде. Дизайнерам нужна поддержка конфигурационных + файлов, динамических блоков и прочих интерфейсных нюансов, но они не + хотят иметь дела со сложностями языка программирования PHP. - Looking at many templating solutions available for PHP today, most of - them provide a rudimentary way of substituting variables into templates - and do a limited form of dynamic block functionality. But our needs - required a bit more than that. We didn't want programmers to be dealing - with HTML layout at ALL, but this was almost inevitable. For instance, - if a designer wanted background colors to alternate on dynamic blocks, - this had to be worked out with the programmer in advance. We also - needed designers to be able to use their own configuration files, and - pull variables from them into the templates. The list goes on. + Глядя на множество обработчиков шаблонов, доступных сегодня для PHP, + большинство из них предоставляет базовые возможности подстановки + переменных в шаблоны и имеет ограниченную поддержку динамических блоков. + Но нам требовалось нечто большее. Мы хотели, чтобы программисты + ВООБЩЕ не имели дела с HTML, но это было практически неизбежно. + К примеру, если дизайнер хотел, чтобы два фоновых цвета чередовались + при отображении динамических блоков, эту задачу необходимо было решать + вместе с программистом. Нам также требовалось, чтобы дизайнеры могли + использовать собственные конфигурационные файлы и вставлять переменные + из этих файлов в шаблоны. И так далее. - We started out writing out a spec for a template engine back in late - 1999. After finishing the spec, we began to work on a template engine - written in C that would hopefully be accepted for inclusion with PHP. - Not only did we run into many complicated technical barriers, but there - was also much heated debate about exactly what a template engine should - and should not do. From this experience, we decided that the template - engine should be written in PHP as a class, for anyone to use as they - see fit. So we wrote an engine that did just that and - SmartTemplate came into existence (note: this - class was never submitted to the public). It was a class that did - almost everything we wanted: regular variable substitution, supported - including other templates, integration with config files, embedding PHP - code, limited 'if' statement functionality and much more robust dynamic - blocks which could be multiply nested. It did all this with regular - expressions and the code turned out to be rather, shall we say, - impenetrable. It was also noticably slow in large applications from all - the parsing and regular expression work it had to do on each - invocation. The biggest problem from a programmer's point of view was - all the necessary work in the PHP script to setup and process templates - and dynamic blocks. How do we make this easier? + Мы начали написание спецификации для обработчика шаблонов ещё в + 1999 году. Когда мы закончили спецификацию, мы начали работать + над обработчиком шаблонов, написанным на Си, которому, как мы надеялись, + разрешат стать частью PHP. Мы не только наткнулись на множество + технических барьеров, но было и большое количество споров относительно + того, что должен и не должен делать обработчик шаблонов. Благодаря этому + опыту мы решили, что обработчик шаблонов должен быть написан на PHP + в виде класса, чтобы каждый мог использовать его так, как хочет. + Затем мы написали движок, который соответствовал этим требованиям + и SmartTemplate появился на свет + (замечание: этот класс никогда не был опубликован). + Это был класс, который делал практически всё, что нам требовалось: + обыкновенная подстановка переменных, поддержка подключения других + шаблонов, интеграция с конфигурационными файлами, встраивание + PHP-кода, ограниченная поддержка условий 'if' и улучшенная + поддержка вложенных динамических блоков. Всё это достигалось + использованием регулярных выражений и в итоге у нас получился код, + который, скажем так, не позволял вносить в себя какие-либо изменения. + Кроме того, он прилично тормозил в крупных приложениях из-за большого + количества парсинга и регулярных выражений, которые обрабатывались + при каждом запросе. Наибольшей проблемой с программистской точки + зрения была та работа, которую нужно было провести над PHP-скриптом + для настройки и обработки шаблонов и динамических блоков. + Как же мы можем упростить это? - Then came the vision of what ultimately became Smarty. We know how fast - PHP code is without the overhead of template parsing. We also know how - meticulous and overbearing the PHP language may look to the average - designer, and this could be masked with a much simpler templating - syntax. So what if we combined the two strengths? Thus, Smarty was - born... + Затем пришло видение того, что в последствии переросло в Smarty. + Мы знали, как быстр PHP-код, если его не перегружать парсингом шаблонов. + Мы также знали, как всеобъемлюще и непонятно может выглядить язык PHP + для среднестатистического дизайнера, и что это можно замаскировать + при помощи более простого синтаксиса шаблонов. А почему бы нам + не объединить две эти силы? Так и родился Smarty... @@ -94,4 +94,4 @@ End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 ---> +-->