From e6cf5b30d74c6f7e6ba5e11f71a6463bd3f7ff81 Mon Sep 17 00:00:00 2001 From: Vasily Polovnyov Date: Fri, 29 Oct 2010 18:24:21 +0400 Subject: [PATCH] more fixes for russian README Signed-off-by: Konstantin Haase --- README.ru.rdoc | 56 +++++++++++++++++++++++++------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/README.ru.rdoc b/README.ru.rdoc index e55c0022..0d368fca 100644 --- a/README.ru.rdoc +++ b/README.ru.rdoc @@ -69,7 +69,7 @@ Sinatra — это предметно-ориентированный язык (D params[:splat] # => ["path/to/file", "xml"] end -Маршруты также могут использовать регулярные выражение в качестве шаблона URL: +Маршруты также могут использовать регулярные выражения в качестве шаблона URL: get %r{/hello/([\w]+)} do "Hello, #{params[:captures].first}!" @@ -122,8 +122,8 @@ Sinatra — это предметно-ориентированный язык (D === Возвращаемые значения Возвращаемое значение блока маршрута ограничивается телом ответа, которое будет передано HTTP клиенту, -или следующей подпрограммой (middleware) в Rack стеке. Чаще всего это строка, как в выше изложенных примерах. -Но и другие значения также приемлимы. +или следующей подпрограммой (middleware) в Rack стеке. Чаще всего это строка, как в вышеизложенных примерах. +Но и другие значения также приемлемы. Вы можете вернуть любой объект, который будет либо корректным Rack ответом, Rack телом ответа, либо кодом состояния HTTP: @@ -163,7 +163,7 @@ Sinatra — это предметно-ориентированный язык (D Важно помнить, что вы всегда должны указывать шаблоны с помощью символов, даже если это подкаталог (в этом случае -успользуйте :'subdir/template'). Вы должны использовать +используйте :'subdir/template'). Вы должны использовать символ, иначе методы, ответственные за рендеринг, отобразят просто переданную им строку. === Haml шаблоны @@ -181,7 +181,7 @@ Haml gem/библиотека необходима для рендеринга H {Опции Haml}[http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#options] могут быть установлены глобально через конфигурацию Sinatra, -посмотрите {Опции и Конфигурация}[http://www.sinatrarb.com/configuration.html], +см. {Опции и Конфигурация}[http://www.sinatrarb.com/configuration.html], и переопределены локально. set :haml, :format => :html5 # :xhtml - Haml формат по умолчанию @@ -256,7 +256,7 @@ Haml gem/библиотека необходима для рендеринга S {Опции Sass}[http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#options] могут быть установлены глобально через конфигурацию Sinatra, -посмотрите {Опции и Конфигурация}[http://www.sinatrarb.com/configuration.html], +см. {Опции и Конфигурация}[http://www.sinatrarb.com/configuration.html], и переопределены локально. set :sass, :style => :compact # :nested - стиль Sass по умолчанию @@ -280,7 +280,7 @@ Haml gem/библиотека необходима для рендеринга S {Опции Scss}[http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#options] могут быть установлены глобально через конфигурацию Sinatra, -посмотрите {Опции и Конфигурация}[http://www.sinatrarb.com/configuration.html], +см. {Опции и Конфигурация}[http://www.sinatrarb.com/configuration.html], и переопределены локально. set :scss, :style => :compact # :nested - стиль Scss по умолчанию @@ -334,7 +334,7 @@ rdiscount gem/библиотека необходима для рендерин Отрисует ./views/index.markdown (+md+ и +mkd+ также являются допустимыми файловыми расширениями). -В markdown невозможно вызывать методы или передавать локальные переменные. Следовательно вам скорее всего прийдется +В markdown невозможно вызывать методы или передавать локальные переменные. Следовательно, вам скорее всего придется использовать этот шаблон совместно с другим движком рендеринга: erb :overview, :locals => { :text => markdown(:introduction) } @@ -357,7 +357,7 @@ RedCloth gem/библиотека необходима для рендеринг Отрисует ./views/index.textile. -В textile невозможно вызывать методы или передавать локальные переменные. Следовательно вам скорее всего прийдется +В textile невозможно вызывать методы или передавать локальные переменные. Следовательно, вам скорее всего придется использовать этот шаблон совместно с другим движком рендеринга: erb :overview, :locals => { :text => textile(:introduction) } @@ -380,7 +380,7 @@ RDoc gem/библиотека необходима для рендеринга R Отрисует ./views/index.rdoc. -В rdoc невозможно вызывать методы или передавать локальные переменные. Следовательно вам скорее всего прийдется +В rdoc невозможно вызывать методы или передавать локальные переменные. Следовательно, вам скорее всего придется использовать этот шаблон совместно с другим движком рендеринга: erb :overview, :locals => { :text => rdoc(:introduction) } @@ -486,7 +486,7 @@ coffee-script gem/библиотека и `coffee` бинарный файл н === Именные шаблоны -Шаблоны также могут быть определены используя template метод: +Шаблоны также могут быть определены, используя template метод: template :layout do "%html\n =yield\n" @@ -544,7 +544,7 @@ After-фильтры выполняются после каждого запро puts response.status end -Фильтры могут использовать шаблоны URL и будут интерпретированы только, если путь запроса совпадет с этим шаблоном: +Фильтры могут использовать шаблоны URL и будут интерпретированы, только если путь запроса совпадет с этим шаблоном: before '/protected/*' do authenticate! @@ -556,7 +556,7 @@ After-фильтры выполняются после каждого запро == Прерывание -Чтобы незамедлительно прервать обработку запроса внутри фильтра или маршрута используйте: +Чтобы незамедлительно прервать обработку запроса внутри фильтра или маршрута, используйте: halt @@ -720,7 +720,7 @@ Sinatra устанавливает специальные not_found и == Mime типы -Когда используете send_file или статические файлы, у вас могут быть mime типы которые Sinatra, +Когда вы используете send_file или статические файлы, у вас могут быть mime типы, которые Sinatra не понимает по умолчанию. Используйте +mime_type+ для их регистрации по расширению файла: mime_type :foo, 'text/foo' @@ -759,8 +759,8 @@ Rack::Builder[http://rack.rubyforge.org/doc/classes/Rack/Builder.html] DSL end Rack распространяется с различными стандартными подпрограммами -для логирования, дебагинга, маршрутизации URL, аутентификации, обработки сессий. Sinatra использует -многие из этих компонентов автоматически, основываясь на конфигурации, чтобы вам не проходилось +для логирования, отладки, маршрутизации URL, аутентификации, обработки сессий. Sinatra использует +многие из этих компонентов автоматически, основываясь на конфигурации, чтобы вам не приходилось регистрировать/использовать (+use+) их вручную. == Тестирование @@ -796,17 +796,17 @@ Rack распространяется с различными стандартн end Заметьте: Встроенные модули Sinatra::Test и Sinatra::TestHarness являются -устаревшими начиная с 0.9.2 релиза. +устаревшими, начиная с 0.9.2 релиза. == Sinatra::Base - Подпрограммы, библиотеки и модульные приложения Описание своего приложения самым простейшим способом (с помощью DSL верхнего уровня, как в примерах выше) работает отлично для крохотных приложений, но имеет множество недостатков, когда надо -создать компоненты такие как Rack +создать компоненты, такие как Rack middleware, Rails metal, простые библиотеки с серверными компонентами, Sinatra расширения. DSL верхнего уровня загрязняет пространство имен Object и подразумевает стиль конфигурации -микро приложения (например, единый файл приложения, ./public и +микро-приложения (например, единый файл приложения, ./public и ./views директории, создание логов, страницу деталей об исключениях и т.д.). И тут на помощь приходит Sinatra::Base: @@ -828,12 +828,12 @@ Rack подпрограммы, Rack приложения, Rails metal. Вы мо MyApp.run! :host => 'localhost', :port => 9090 -Методы доступные Sinatra::Base сабклассам идентичны тем, что доступны +Методы, доступные Sinatra::Base сабклассам идентичны тем, что доступны в DSL верхнего уровня. Большинство приложений верхнего уровня могут быть конвертированы в Sinatra::Base компоненты с помощью двух модификаций: -* Вы должны подключать +sinatra/base+ вместо +sinatra+; - иначе, все методы предоставляемые Sinatra будут импортированные в глобальное пространство имен. +* Вы должны подключать +sinatra/base+ вместо +sinatra+, + иначе все методы предоставляемые Sinatra будут импортированные в глобальное пространство имен. * Поместите все маршруты, обработчики ошибок, фильтры и опции в сабкласс Sinatra::Base. Sinatra::Base — это чистый лист. Большинство опций, включая встроенный сервер, по умолчанию отключены. @@ -844,7 +844,7 @@ Rack подпрограммы, Rack приложения, Rails metal. Вы мо Не только сама Sinatra может использовать подпрограммы Rack, любое Sinatra приложение само может быть добавлено к любому Rack эндпоинту в качестве подпрограммы. Этим эндпоинтом -может быть другое Sinatra приложение или приложение, основанное на Rack (Rails/Ramaze/Camping/...). +может быть другое Sinatra приложение, или приложение, основанное на Rack (Rails/Ramaze/Camping/...). require 'sinatra/base' @@ -877,7 +877,7 @@ Rack подпрограммы, Rack приложения, Rails metal. Вы мо == Области видимости и привязка -Текущая область видимости определяет методы и переменные доступные +Текущая область видимости определяет методы и переменные, доступные в данный момент. === Область видимости приложения / класса @@ -919,8 +919,8 @@ Sinatra::Application, иначе это будет сабкласс, котор Для каждого входящего запроса будет создан новый экземпляр вашего приложения, и все блоки обработчика будут запущены в этом контексте. В этой области видимости вам доступны `request` и `session` объекты, вызовы методов -рендеринга такие как `erb` или `haml`. Вы можете получить доступ к -области видимости приложения из контекста запроса используя помощник `settings`: +рендеринга, такие как `erb` или `haml`. Вы можете получить доступ к +области видимости приложения из контекста запроса, используя помощник `settings`: class MyApp << Sinatra::Base # Я в области видимости приложения! @@ -946,11 +946,11 @@ Sinatra::Application, иначе это будет сабкласс, котор === Область видимости делегирования -Область видимости делегирования просто переправляет методы в область видимости класса. +Область видимости делегирования просто перенаправляет методы в область видимости класса. Однако, оно не полностью на 100% ведет себя как область видимости класса, так как у вас нету привязки к классу: только методы, явно помеченные для делегирования, будут доступны, а переменных/состояний области видимости класса -не будет (иначе говоря: у вас будет другой `self` объект). Вы можете +не будет (иначе говоря, у вас будет другой `self` объект). Вы можете непосредственно добавить методы делегирования, используя Sinatra::Delegator.delegate :method_name.