Skip to content

Commit

Permalink
better translation for all "middleware" mentions
Browse files Browse the repository at this point in the history
  • Loading branch information
vast authored and rkh committed Feb 17, 2011
1 parent fd1636d commit 271e26e
Showing 1 changed file with 14 additions and 15 deletions.
29 changes: 14 additions & 15 deletions README.ru.rdoc
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ Sinatra — это предметно-ориентированный язык (D
=== Возвращаемые значения

Возвращаемое значение блока маршрута ограничивается телом ответа, которое будет передано HTTP клиенту,
или следующей подпрограммой (middleware) в Rack стеке. Чаще всего это строка, как в вышеизложенных примерах.
или следующей "прослойкой" (middleware, промежуточная программа) в Rack стеке. Чаще всего это строка, как в вышеизложенных примерах.
Но и другие значения также приемлемы.

Вы можете вернуть любой объект, который будет либо корректным Rack ответом, Rack
Expand Down Expand Up @@ -730,15 +730,15 @@ Sinatra устанавливает специальные <tt>not_found</tt> и

content_type :foo

== Rack подпрограммы
== Rack "прослойки"

Sinatra использует Rack[http://rack.rubyforge.org/], минимальный стандартный
интерфейс для веб-фреймворков на Ruby. Одной из самых интересных для разработчиков возможностей Rack
является поддержка подпрограмм ("middleware") -- компонентов,
является поддержка "прослоек" ("middleware") компонентов,
"сидящих" между сервером и вашим приложением, которые отслеживают и/или манипулируют
HTTP запросами/ответами для предоставления различной функциональности.

В Sinatra очень просто использовать такие Rack подпрограммы с помощью метода +use+:
В Sinatra очень просто использовать такие "прослойки" с помощью метода +use+:

require 'sinatra'
require 'my_custom_middleware'
Expand All @@ -759,7 +759,7 @@ Rack::Builder[http://rack.rubyforge.org/doc/classes/Rack/Builder.html] DSL
username == 'admin' && password == 'secret'
end

Rack распространяется с различными стандартными подпрограммами
Rack распространяется с различными стандартными "прослойками"
для логирования, отладки, маршрутизации URL, аутентификации, обработки сессий. Sinatra использует
многие из этих компонентов автоматически, основываясь на конфигурации, чтобы вам не приходилось
регистрировать/использовать (+use+) их вручную.
Expand Down Expand Up @@ -799,13 +799,12 @@ Rack распространяется с различными стандартн
Заметьте: Встроенные модули Sinatra::Test и Sinatra::TestHarness являются
устаревшими, начиная с 0.9.2 релиза.

== Sinatra::Base — подпрограммы, библиотеки и модульные приложения
== Sinatra::Base — "прослойки", библиотеки и модульные приложения

Описание своего приложения самым простейшим способом (с помощью DSL верхнего уровня, как в примерах выше)
работает отлично для крохотных приложений, но имеет множество недостатков, когда надо
создать компоненты, такие как Rack
middleware, Rails metal, простые библиотеки с серверными компонентами,
Sinatra расширения.
работает отлично для крохотных приложений, но имеет множество недостатков, когда надо создать компоненты, такие как
Rack middleware ("прослойки"), Rails metal, простые библиотеки с серверными компонентами,
расширения Sinatra.
DSL верхнего уровня загрязняет пространство имен <tt>Object</tt> и подразумевает стиль конфигурации
микро-приложения (например, единый файл приложения, ./public и
./views директории, создание логов, страницу деталей об исключениях
Expand Down Expand Up @@ -886,16 +885,16 @@ Rack-совместимый сервер приложений.
* вы хотите разворачивать свое приложение на различных Rack-совместимых серверах (Passenger, Unicorn,
Heroku, ...).
* вы хотите использовать более одного сабкласса <tt>Sinatra::Base</tt>.
* вы хотите использовать Sinatra только в качестве подпрограммы Rack.
* вы хотите использовать Sinatra только в качестве "прослойки" Rack.

<b>Совсем необязательно переходить на использование <tt>config.ru</tt> лишь потому, что вы стали
использовать модульный стиль приложения. И необязательно использовать модульный стиль, чтобы
запускать приложение с помощью <tt>config.ru</tt>.</b>

=== Использование Sinatra как подпрограммы
=== Использование Sinatra в качестве "прослойки"

Не только сама Sinatra может использовать подпрограммы Rack, любое Sinatra приложение
само может быть добавлено к любому Rack эндпоинту в качестве подпрограммы. Этим эндпоинтом
Не только сама Sinatra может использовать "прослойки" Rack, но и любое Sinatra приложение
само может быть добавлено к любому Rack эндпоинту в качестве "прослойки". Этим эндпоинтом
может быть другое Sinatra приложение, или приложение, основанное на Rack (Rails/Ramaze/Camping/...).

require 'sinatra/base'
Expand All @@ -915,7 +914,7 @@ Rack-совместимый сервер приложений.
end

class MyApp < Sinatra::Base
# подпрограмма будет запущена перед фильтрами
# "прослойка" будет запущена перед фильтрами
use LoginScreen

before do
Expand Down

0 comments on commit 271e26e

Please sign in to comment.