cvs: smarty /docs/ru preface.xml
"George Miroshnikov" <[email protected]>
| Newsgroups | gmane.comp.php.cvs.smarty |
|---|---|
| Message-ID | <cvsfreespace1094658047@cvsserver> |
freespace Wed Sep 8 11:40:47 2004 EDT
Modified files:
/smarty/docs/ru preface.xml
Log:
Finished translation of preface.xml.
Made my first commit :)
--
Smarty CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
freespace-20040908114047.txt
(text/plain, 13.4 KB)
http://cvs.php.net/diff.php/smarty/docs/ru/preface.xml?r1=1.3&r2=1.4&ty=u Index: smarty/docs/ru/preface.xml diff -u smarty/docs/ru/preface.xml:1.3 smarty/docs/ru/preface.xml:1.4 --- smarty/docs/ru/preface.xml:1.3 Mon Jul 19 09:11:22 2004 +++ smarty/docs/ru/preface.xml Wed Sep 8 11:40:47 2004 @@ -1,97 +1,97 @@ -<?xml version="1.0" encoding="windows-1251"?> -<!-- $Revision: 1.3 $ --> -<!-- EN-Revision: 1.2 Maintainer: tony2001 Status: ready --> - <preface id="preface"> - <title>Ïðåäèñëîâèå</title> - <para> - Íåñîìíåííî, îäèí èç íàèáîëåå ÷àñòî çàäàâàåìûõ âîïðîñîâ â ñïèñêàõ ðàññûëêè ïî PHP: - êàê îòäåëèòü êîä îò ïðåäñòàâëåíèÿ? - Íåñìîòðÿ íà òî, ÷òî PHP íàçûâàþò "ÿçûêîì, âñòðàèâàåìûì â HTML", ïîñëå íàïèñàíèÿ - íåñêîëüêèõ ïðîåêòîâ, ãäå ñìåøàíû PHP è HTML, ìíîãèå ïîíèìàþò, ÷òî - ðàçäåëåíèå ôîðìû è ñîäåðæàíèÿ - Õîðîøàÿ Âåùü [TM]. Êðîìå òîãî, âî - ìíîãèõ êîìïàíèÿõ äîëæíîñòè äèçàéíåðà è ïðîãðàììèñòà ðàçäåëåíû ìåæäó ñîáîé. - Ïðèõîäèòñÿ èñïîëüçîâàòü øàáëîíû. - </para> - <para> - <!-- -  íàøåé êîìïàíèè, íàïðèìåð, ðàçðàáîòêà ïðîäóêòà èäåò òàêèì îáðàçîì: - ïîñëå òîãî, êàê íàïèñàíû âñå ñïåöèôèêàöèè, äèçàéíåð èíòåðôåéñà - äåëàåò ìàêåòû è ïåðåäàåò èõ ïðîãðàììèñòó. - --> - 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. - </para> - <para> - 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. - </para> - <para> - 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 - <productname>SmartTemplate</productname> 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? - </para> - <para> - 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... - </para> - </preface> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:1 -sgml-indent-data:t -indent-tabs-mode:nil -sgml-parent-document:nil -sgml-default-dtd-file:"../../../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: -vim600: syn=xml fen fdm=syntax fdl=2 si -vim: et tw=78 syn=sgml -vi: ts=1 sw=1 ---> +<?xml version="1.0" encoding="windows-1251"?> +<!-- $Revision: 1.4 $ --> +<!-- EN-Revision: 1.2 Maintainer: tony2001 Status: ready --> + <preface id="preface"> + <title>Ïðåäèñëîâèå</title> + <para> + Íåñîìíåííî, îäèí èç íàèáîëåå ÷àñòî çàäàâàåìûõ âîïðîñîâ â ñïèñêàõ + ðàññûëêè PHP - "Êàê ìíå ñäåëàòü ñâîè PHP-ñêðèïòû íåçàâèñèìûìè + îò äèçàéíà?". Õîòÿ PHP íàçûâàþò "ñêðèïòîâûì ÿçûêîì, âñòðàèâàåìûì + â HTML", ïîñëå íàïèñàíèÿ íåñêîëüêèõ ïðîåêòîâ, â êîòîðûõ PHP è HTML + ñâîáîäíî ïåðåìåøèâàþòñÿ, ìíîãèå ïîíèìàþò, ÷òî îòäåëåíèå ôîðìû îò + ñîäåðæàíèÿ - ýòî Õîðîøàÿ Âåøü [TM]. Êðîìå òîãî, âî ìíîãèõ êîìïàíèÿõ + äîëæíîñòè äèçàéíåðà è ïðîãðàììèñòà ðàçäåëåíû ìåæäó ñîáîé. Òàê + íà÷èíàåòñÿ ïîèñê îáðàáîò÷èêà øàáëîíîâ... + </para> + <para> + Íàïðèìåð, â íàøåé êîìïàíèè ðàçðàáîòêà ïðèëîæåíèÿ èä¸ò òàêèì îáðàçîì: + ïîñëå òîãî, êàê ãîòîâà âñÿ ïðîåêòíàÿ äîêóìåíòàöèÿ, äèçàéíåð èíòåðôåéñà + ñîçäà¸ò ìàêåòû è ïåðåäà¸ò èõ ïðîãðàììèñòó. Ïðîãðàììèñò ðåàëèçîâûâàåò + ëîãèêó ïðèëîæåíèÿ íà PHP è èñïîëüçóåò ìàêåòû èíòåðôåéñà äëÿ ñîçäàíèÿ + áàçîâûõ øàáëîíîâ. Çàòåì ïðîåêò ïåðåäà¸òñÿ HTML-äèçàéíåðó/âåðñòàëüùèêó, + êîòîðûé äîâîäèò øàáëîíû äî ñîâåðøåíñòâà. Ïðîåêò ìîæåò íåñêîëüêî ðàç + ïåðåõîäèòü èç ýòàïà HTML-â¸ðñòêè ê ýòàïó ïðîãðàììèðîâàíèÿ è îáðàòíî. + Òàêèì îáðàçîì, âàæíî èìåòü õîðîøóþ ïîääåðæêó øàáëîíîâ, ïîòîìó ÷òî + ïðîãðàììèñòû íå õîòÿò èìåòü äåëà ñ HTML è íå õîòÿò, ÷òîáû HTML-äèçàéíåðû + êîïàëèñü â PHP-êîäå. Äèçàéíåðàì íóæíà ïîääåðæêà êîíôèãóðàöèîííûõ + ôàéëîâ, äèíàìè÷åñêèõ áëîêîâ è ïðî÷èõ èíòåðôåéñíûõ íþàíñîâ, íî îíè íå + õîòÿò èìåòü äåëà ñî ñëîæíîñòÿìè ÿçûêà ïðîãðàììèðîâàíèÿ PHP. + </para> + <para> + Ãëÿäÿ íà ìíîæåñòâî îáðàáîò÷èêîâ øàáëîíîâ, äîñòóïíûõ ñåãîäíÿ äëÿ PHP, + áîëüøèíñòâî èç íèõ ïðåäîñòàâëÿåò áàçîâûå âîçìîæíîñòè ïîäñòàíîâêè + ïåðåìåííûõ â øàáëîíû è èìååò îãðàíè÷åííóþ ïîääåðæêó äèíàìè÷åñêèõ áëîêîâ. + Íî íàì òðåáîâàëîñü íå÷òî áîëüøåå. Ìû õîòåëè, ÷òîáû ïðîãðàììèñòû + ÂÎÎÁÙÅ íå èìåëè äåëà ñ HTML, íî ýòî áûëî ïðàêòè÷åñêè íåèçáåæíî. + Ê ïðèìåðó, åñëè äèçàéíåð õîòåë, ÷òîáû äâà ôîíîâûõ öâåòà ÷åðåäîâàëèñü + ïðè îòîáðàæåíèè äèíàìè÷åñêèõ áëîêîâ, ýòó çàäà÷ó íåîáõîäèìî áûëî ðåøàòü + âìåñòå ñ ïðîãðàììèñòîì. Íàì òàêæå òðåáîâàëîñü, ÷òîáû äèçàéíåðû ìîãëè + èñïîëüçîâàòü ñîáñòâåííûå êîíôèãóðàöèîííûå ôàéëû è âñòàâëÿòü ïåðåìåííûå + èç ýòèõ ôàéëîâ â øàáëîíû. È òàê äàëåå. + </para> + <para> + Ìû íà÷àëè íàïèñàíèå ñïåöèôèêàöèè äëÿ îáðàáîò÷èêà øàáëîíîâ åù¸ â + 1999 ãîäó. Êîãäà ìû çàêîí÷èëè ñïåöèôèêàöèþ, ìû íà÷àëè ðàáîòàòü + íàä îáðàáîò÷èêîì øàáëîíîâ, íàïèñàííûì íà Ñè, êîòîðîìó, êàê ìû íàäåÿëèñü, + ðàçðåøàò ñòàòü ÷àñòüþ PHP. Ìû íå òîëüêî íàòêíóëèñü íà ìíîæåñòâî + òåõíè÷åñêèõ áàðüåðîâ, íî áûëî è áîëüøîå êîëè÷åñòâî ñïîðîâ îòíîñèòåëüíî + òîãî, ÷òî äîëæåí è íå äîëæåí äåëàòü îáðàáîò÷èê øàáëîíîâ. Áëàãîäàðÿ ýòîìó + îïûòó ìû ðåøèëè, ÷òî îáðàáîò÷èê øàáëîíîâ äîëæåí áûòü íàïèñàí íà PHP + â âèäå êëàññà, ÷òîáû êàæäûé ìîã èñïîëüçîâàòü åãî òàê, êàê õî÷åò. + Çàòåì ìû íàïèñàëè äâèæîê, êîòîðûé ñîîòâåòñòâîâàë ýòèì òðåáîâàíèÿì + è <productname>SmartTemplate</productname> ïîÿâèëñÿ íà ñâåò + (çàìå÷àíèå: ýòîò êëàññ íèêîãäà íå áûë îïóáëèêîâàí). + Ýòî áûë êëàññ, êîòîðûé äåëàë ïðàêòè÷åñêè âñ¸, ÷òî íàì òðåáîâàëîñü: + îáûêíîâåííàÿ ïîäñòàíîâêà ïåðåìåííûõ, ïîääåðæêà ïîäêëþ÷åíèÿ äðóãèõ + øàáëîíîâ, èíòåãðàöèÿ ñ êîíôèãóðàöèîííûìè ôàéëàìè, âñòðàèâàíèå + PHP-êîäà, îãðàíè÷åííàÿ ïîääåðæêà óñëîâèé 'if' è óëó÷øåííàÿ + ïîääåðæêà âëîæåííûõ äèíàìè÷åñêèõ áëîêîâ. Âñ¸ ýòî äîñòèãàëîñü + èñïîëüçîâàíèåì ðåãóëÿðíûõ âûðàæåíèé è â èòîãå ó íàñ ïîëó÷èëñÿ êîä, + êîòîðûé, ñêàæåì òàê, íå ïîçâîëÿë âíîñèòü â ñåáÿ êàêèå-ëèáî èçìåíåíèÿ. + Êðîìå òîãî, îí ïðèëè÷íî òîðìîçèë â êðóïíûõ ïðèëîæåíèÿõ èç-çà áîëüøîãî + êîëè÷åñòâà ïàðñèíãà è ðåãóëÿðíûõ âûðàæåíèé, êîòîðûå îáðàáàòûâàëèñü + ïðè êàæäîì çàïðîñå. Íàèáîëüøåé ïðîáëåìîé ñ ïðîãðàììèñòñêîé òî÷êè + çðåíèÿ áûëà òà ðàáîòà, êîòîðóþ íóæíî áûëî ïðîâåñòè íàä PHP-ñêðèïòîì + äëÿ íàñòðîéêè è îáðàáîòêè øàáëîíîâ è äèíàìè÷åñêèõ áëîêîâ. + Êàê æå ìû ìîæåì óïðîñòèòü ýòî? + </para> + <para> + Çàòåì ïðèøëî âèäåíèå òîãî, ÷òî â ïîñëåäñòâèè ïåðåðîñëî â Smarty. + Ìû çíàëè, êàê áûñòð PHP-êîä, åñëè åãî íå ïåðåãðóæàòü ïàðñèíãîì øàáëîíîâ. + Ìû òàêæå çíàëè, êàê âñåîáúåìëþùå è íåïîíÿòíî ìîæåò âûãëÿäèòü ÿçûê PHP + äëÿ ñðåäíåñòàòèñòè÷åñêîãî äèçàéíåðà, è ÷òî ýòî ìîæíî çàìàñêèðîâàòü + ïðè ïîìîùè áîëåå ïðîñòîãî ñèíòàêñèñà øàáëîíîâ. À ïî÷åìó áû íàì + íå îáúåäèíèòü äâå ýòè ñèëû? Òàê è ðîäèëñÿ Smarty... + </para> + </preface> + +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +indent-tabs-mode:nil +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +-->