Перила или перилла: перила — Викисловарь

Содержание

фото в интерьере, материалы, виды, расчет ограждений » Интер-ер.ру

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

Основные правила оборудования лестниц перилами

Существуют достаточно строгие требования, касающиеся лестничных ограждений. Они оправданы с точки зрения безопасности, являющейся главной задачей перил.

  • Лестница с числом ступеней от трех и больше должна иметь поручни хотя бы с одной стороны, даже если она узкая и находится между двух стен.
  • При ширине прохода 125 см и больше поручни должны быть установлены по обеим сторонам.
  • Перила для лестницы, расположенные снаружи частного дома должны иметь высоту не меньше 120 см.
    Минимальная высота в доме – 90 см.
  • Угол наклона поручней должен составлять от 20 до 45º. Эти параметры обеспечивают безопасное перемещение по лестнице.
  • Расстояние между балясинами рекомендуется делать не больше 15 см.
  • Перила должны быть выполнены из негорючих материалов или обработаны специальными средствами. Это требование обусловлено тем, что лестницы являются основными путями эвакуации при пожаре.

    Перила делают из природных и искусственных материалов

Внимание! Следует учитывать возможность нахождения в доме маленьких детей и позаботиться заранее об их безопасности. Расстояние между балясинами следует делать такое, чтобы ребенок не мог просунуть голову.

Из чего состоят перила

В число основных элементов лестничного ограждения входят:

  1. поручни;
  2. балясины;
  3. заполнитель.

Поручни – верхняя горизонтальная часть ограждения, на которую опираются рукой для надежности.

Главное требование к этой части перил – ровная гладкая поверхность, без острых краев и заусениц, не слишком скользкая. Сечение поручня может иметь различную форму: круглую, овальную, прямоугольную. Для закругленных лестниц изготавливаются гнутые поручни. Крепятся на опорных стойках или на стене.

Балясина – вертикальный столбик, служащий подпоркой для поручней. Количество балясин на марше обычно соответствует числу ступенек, но может изменяться в зависимости от дизайна конструкции. Балясины должны иметь жесткое надежное крепление к лестничному полотну.

Заполнитель – элементы, устанавливаемые в промежутках между балясинами. Он может иметь только декоративную функцию, но может служить также для обеспечения безопасности. Существует несколько видов заполнителя:

  • Классический. Состоит из прямых или фигурных стоек, расположенных вертикально или под наклоном.
  • Художественный. В этом случае все пространство между балясинами заполняется декоративными элементами.
  • Ригельный. Представляет собой ряд планок, крепящихся к вертикальным стойкам параллельно поручням.
  • Сплошной. Между поручнями и ступенями устанавливаются большие панели, закрывающие все пространство.

    Расстояние между балясинами следует делать такое, чтобы ребенок не мог просунуть голову.

Внимание! Заполнитель обязательно используется, если в доме есть маленькие дети.

Какие материалы используются для создания лестничных ограждений

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

 Деревянные перила

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

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

  • Точеные балясины делают на токарном станке. Они имеют форму тел вращения и изготавливаются с различными вариантами профиля.
  • Фрезерованные декорированы винтовой или продольной нарезкой.
  • Резьбовые изготавливаются с применением более сложного оборудования, позволяющего создавать оригинальные изделия. Стоимость изделий с ручной резьбой бывает очень высока.

Деревянные вертикальные стойки могут быть объемными или плоскими.

К недостаткам деревянных перил можно отнести их относительную недолговечность, чувствительность к перепадам температур и влаге.

Кованые перила

Также испытанный временем вариант, пользующийся постоянным спросом, благодаря высоким декоративным достоинствам, надежности и долговечности. В зависимости от исполнения, кованые перила хорошо вписываются практически в любой интерьер. Так же как и с деревом, с ковкой можно работать творчески, создавая дорогие художественные шедевры. Производители также предлагают много готовых вариантов. Стоимость их зависит от количества используемого материала и сложности рисунка.

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

Кованые перила изящны и элегантны

Металлические перила

Для изготовления используются разные виды металлов:

  • нержавеющая сталь;
  • железо;
  • алюминий.

Стальные и железные перила обладают большим запасом прочности, не боятся механических повреждений, не подвержены коррозии Их чаще используют для улицы.

На внутренних лестницах чаще устанавливают ограждения из алюминия. Это легкий и прочный металл, пластичность которого позволяет создавать достаточно сложные по форме конструкции.

По типу изготовления металлические перила могут быть сварными или сборными.

Сборка ограждения выполняется из отдельных элементов. На готовую конструкцию при необходимости наносят защитное покрытие – полимерное, хромированное или из анодированного алюминия.

Метод сварки применяется для более сложных и прочных конструкций.

Стекло и ПХВ

Эти материалы в основном используют для создания отдельных элементов перил. Из пластика делают поручни. Стоимость материала существенно ниже, чем у дерева и металла. При этом он обладает отличными пользовательскими характеристиками: прочный, эстетичный, износоустойчивый, не боится влаги, легко монтируется, не требует сложного ухода.

Стеклянные панели применяется для оформления вертикальной части перил. Для этого используется закаленное стекло или триплекс толщиной от 8 мм. Прозрачное стекло придает интерьеру воздушность, зрительно расширяет пространство. Варианты из цветного, матового или узорчатого стекла позволяют создать помещению определенный стиль.

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

Как сделать лестницу в доме самостоятельно: видео

Что такое поручень? Виды поручней

Что такое поручень?

Поручень — это горизонтальная конструкция из металла, дерева, пластика или других материалов, за которую человек может опираться при спуске или подъёме по лестнице. Поручни делят на виды по расположению, форме и материалу.

Виды поручней

Виды поручней по расположению

  • Настенные (пристенные).
  • Для лестниц.
  • Для ограждений.
Пристенные поручни
крепятся непосредственно к стене. Для них не нужны опорные конструкции в виде перил или ограждений. Поручни для лестниц крепятся непосредственно на лестницы, поручни для ограждений — на ограждения. Поручни могут быть одинарными и двойными.

Изогнутый пристенный одинарный поручень

Двойной пристенный поручень

Двойной поручень на перилах

Деревянный поручень на лестнице

Деревянный поручень на ограждении

Виды поручней по форме

По форме поручни разделяют на:
  • круглые
  • скруглённые
  • овальные
  • классические
  • прямоугольные
  • квадратные
  • гнутые (изогнутые)

Виды поручней по материалу

  • металл (нержавеющая сталь, хромированная сталь, алюминий, чугун, латунь)
  • дерево (дуб, бук, ясень и другие)
  • пластик (ПВХ)
  • камень
  • бетон
Металлические поручни из нержавеющей стали делают как вне помещения, так и внутри.
Они практичны, хорошо выглядят и имеют хорошую защиту от внешних воздействий — износоустойчивы, не ржавеют. Деревянные поручни делают из сосны, листевнницы, дуба, бука, ясеня и других пород дерева. Они привлекают из-за многообразия форм, размеров, цветов. Деревянные поручни часто используют, даже если конструкция выполнена из другого материала. Из недостатков таких поручней относят недолговечность и подверженность внешним воздействиям. Однако, если своевременно покрывать их защитным лаком, то можно значительно продлить срок использования деревянных поручней. Пластиковые поручни (поручни из поливинилхлорида) используют в том случае, когда металл не подходит по дизайну или необходимо снизить стоимость конструкции. В этом случае поручни из ПВХ являются незаменимыми. Они могут имитировать текстуру разных пород дерева и сочетаются как с металлическими перилами или ограждениями, так и со стеклянными. Такие поручни можно изгибать и придавать различную форму, поэтому их часто применяют на винтовых перилах.
Поручни из камня часто являются частью перил из камня. Они ассоциируются с богатством, роскошью, изяществом, высшим светом, особым стилем. Устанавливаются в музеях, парках, особняках. Обычно такие перила стоят не дёшево.

Поручни для инвалидов

  • Поручни для инвалидов из нержавеющей стали могут быть различного вида и конструкции:
  • откидные поручни для сантехнических помещений (ванной и туалетной комнат), позволяющие удобно и безопасно садиться и вставать.
  • Стационарные опорные поручни у унитазов и ванн, опоры у умывальников, предотвращающие облокачивание на раковину.
  • Одно- и двухуровневые поручни на лестницах и пандусах для обеспечения безопасного подъема и спуска.
  • Опорные настенные поручни в коридорах и проходных помещениях.
К подобному оборудованию предъявляются особые требования по прочности соединений. Крепление подобных интерьерных элементов следует предусматривать только к несущим стенам и перекрытиям.

Фото поручней

Поручни для ванны

Поручни для ванны и туалета

Поручни для ванной для инвалидов

Поручень для туалета и раковины для инвалидов

Поручень ПВХ (поливинилхлорид)

Деревянный поручень на лестнице

Поручень эскалатора

Поручень из нержавеющей стали

Алюминиевый поручень

Виды металлических перил для лестниц. Какие перила выбрать для лестницы. Перила для лестниц фото

Сегодня мы рассмотрим виды перил для лестниц. Эти конструкции уже давно стали привычным и повседневным явлением, поскольку нет ни одного учреждения или общественного заведения без огороженных лестничных пролетов. Но при этом нельзя пожаловаться на их обыденность, поскольку существует невероятное множество дизайнерских решений для оформления данных ограждений.


Перила с декоративными вставками

Необходимо сразу внести ясность, что под термином «перила» подразумеваются сооружения, закрывающее открытые места и выполняющие ограждающую функцию. Вместе с тем они могут служить в качестве декоративного элемента. Поручни используются для создания дополнительной опоры, и представлены не в столь широком разнообразии вариантов.


Поручни как дополнительная опора для людей на колясках

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

В детских учреждениях, больницах, и других местах, где часто присутствуют дети, вертикальные стойки перил должны располагаться близко друг к другу, чтобы ребенок не пролез между ними и не смог просунуть голову

Материалы для ограждений на лестницы

Лестничные перила, фото который мы сегодня Вам представляем, изготавливаются из самых разных материалов, начиная от разных пород дерева, и заканчивая авторскими коваными работами из чугуна. Остановимся на самых распространенных.

Алюминий

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

  • Устойчивость к коррозии.
  • Простоту ухода.
  • Длительность эксплуатации.
  • Возможность окраски.


Перила из алюминия «под золото» смотрятся стильно и дорого

Нержавеющая сталь

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

  • Срок службы до 50-ти лет.
  • Современный внешний вид.
  • Возможность органично вписываться в любой стиль зданий.
  • Отсутствие необходимости в специальном уходе.
  • Доступная стоимость.


Нержавеющая сталь сочетает в себе строгость и функциональность

Стеклянные вставки

Перила из нержавейки (фото см. ниже) зачастую дополняются секциями из стекла. Такие конструкции хорошо вписываются в любой современный интерьер, особенно в стиле минимализм. Хоть стекло и обладает хрупкостью, но ограждения с эти материалом абсолютно безопасны. Их положительные стороны:

  • Простота монтажа.
  • Разнообразие изделий (морозостойкие, пуленепробиваемые и т.п.).
  • Длительный эксплуатационный срок.
  • Большое разнообразие дизайнерских решений.
  • Быстрая замена в случае повреждения какой-либо секции.


Ограждение для лестницы из стекла и металла

Bажно понимать, что поддержание стеклянных перил в чистоте требует много труда и времени

Расчет стоимости металлических
ограждений и перил

Разновидности лестничных перил

На выбор перил в первую очередь влияет их местоположение. Изначально все ограждения делятся на два типа:

  • Экстерьерные. Располагаются на лестницах, которые находятся с внешней стороны здания. В этом случае чаще всего устанавливают конструкции из бетона и нержавейки.


Уличное заграждение спуска в подвальное помещение

  • Интерьерные. Соответственно, это перила, которые ограждают лестничные пролеты в помещениях. Здесь могут применяться самые разные материалы, от стекла до кованых изделий.


Защита лестничных пролетов внутри офисного здания

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

Строение перильных ограждений

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

  • Поручни. Имеется в виду верхняя часть перил, на которую непосредственно опирается человек. Должна быть удобной для обхвата рукой.
  • Балясины. Главное их предназначение – поддержание всей конструкции. В основном имеют вид вертикальных опор, и могут быть декоративными – резными из дерева или металлическими элементами разной формы.
  • Заглушки. Эта часть перил служит для логичного завершения и визуальной целостности ограждений. Устанавливается в начале и конце лестницы.


Оригинальные изогнутые балясины

Если Вы еще не приняли решения, какие перила выбрать для лестницы, специалисты компании «МетПерила» помогут определиться в этом вопросе. Обращайтесь в любое время!

Посмотрите еще интересные статьи

Перила для лестниц – 85 фото лучших моделей и советы по их применению в интерьере

Стандартным обустройством каждого лестничного пролета многоэтажки являются ограждения и перила. Эти атрибуты известны из давних времен. Но в названных выше зданиях они утилитарны, то есть просто полезны, не вызывая эстетических чувств. Сваренные наспех уголки, прутья предназначены лишь для удержания людей от падения при спуске или подъеме в квартиры.

Содержимое обзора:

Мода в поручнях и перилах

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

С ростом количества загородных домов не только бизнесменов, но и среднего сословия россиян, переселяющихся из тесных квартир в собственные дома, появился новый модный шик. Он второй после архитектуры. Заказывая перила для лестницы в частном доме, хозяева  все чаще обращают внимание на декоративные качества будущей конструкции.

Изящность поручней и перил стала предметом разговоров и споров, у кого лучше они и из чего сделаны. Сайты пестрят сотнями фото перил для лестницы изумительных творений не только мастеров ковки, но и простых домашних столяров и кузнецов.

Стильность на лестницах

Кроме удобства по передвижению в домах, перила содержат и функцию эстетики. Своим оттенком — темные или наоборот, резные и  без этой отделки, с углами или закругленные и из любого материала. Кованые перила для лестницы – самые популярные.

Перила могут быть вмонтированы и в стенку. То есть имеется простор для творческой мысли и подтверждения вашей концепции оформления дома.

Нередко в начале и конце перил устанавливают тумбы вместо балясин. Это сугубо декоративные детали без какой-либо функциональной нагрузки.

К месту стоит сделать разъяснения не только этих двух терминов. Ведь многие путаются в них, даже делая заказы мастерам. Перила – основа страхующей конструкции на лестницах. Поручни – это то, на что человек опирается на перилах. Они, например, как набалдашник трости.

Используется в этом комплекте еще один вид архитектурного изящества, перешедший из внешних древних строений во внутренние.  Это балясины — фигурные подставки перил лестниц. Сегодня их часто заказывают из мрамора, древесины редчайших пород деревьев, например, черного.

Индивидуальные перила для лестницы своими руками декорируются несколькими, иногда несочетаемыми материалами, например, стекло и чугунная ковка. Часто комбинируются деревянные детали и металлические, образуя стильные и на удивление практичные конструкции. Даже поливинилхлоридам (ПВХ) находят место в этой нише.

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


Разновидности направлений моды

Уже относят к ним те или иные лестницы. Например, современный термин хай-тек. Это когда между балясинами укрепили некие вставки, например, из стекла, присвоив им сущность лаконичности.

Модерн – вечная классика – также нашёл свое воплощение в комплексе этой триады терминов в виде кованых вещей. Деревянные перила относят к эко-стилю. Изделия из ПВХ пока не нашли свое модное место, но дело лишь во времени.

Перила, поручни и балясины существуют не вне пространства, они составляют единое целое лестничных конструкций на лестничных маршах. Назовем их типы:

  • этажные пролеты;
  • лестницы без изгибов;
  • конструкции с изгибами;
  • пошаговки с поворотами;
  • устройства в виде винтов
  • линейные с кривизной;
  • комбинированные конструкции.

Требования к проектам лестниц:

После девяти – десяти ступенек сооружайте площадки для передышки. Особенно это важно, если в доме есть пожилые люди, которым нужно подниматься на второй этаж.

Площадки устраивайте шире пролета лестничного марша.

Важно, чтобы на ступеньках смогли разойтись двое шагающих. Для этого хватит ширины в 80 см.

Лучшей считается высота ступенек в 15 — 20, а глубина – 25 — 30 см.


Весь конструктив подъема/спуска наклоняйте не более чем на 45 градусов, наиболее комфортный и безопасный для человека – на 25 — 30 градусов.

В небольших по внутреннему пространству дачных домиках сооружайте винтовые лестницы, они займут минимум территории.

Перила, поручни и балясины из дерева обработайте противопожарными химикатами.

Что дополняет ограждения

Это материалы, закрепляемые между балясинами. Их функции – декоративная и защитная, особенно для детей. Заполнители лестниц классифицированы:

  • классика – вертикальность или наклоны прутков крепежа;
  • сплошные панели для безопасности, крепятся к балясинам;
  • с ригелями – вертикали укреплены и горизонтальными вставками;
  • узорчатые – эстетическое наполнение.

Рынок готовых сборных моделей распространен по стране.  Где купить перила для лестницы? Сайты пестрят объявлениями фирм и компаний по разработке индивидуальных проектов. Поэтому выбрать подходящий вариант можно на любой вкус и кошелек.

Цена на перила для лестницы оговаривается с менеджерами либо афишируется на собственные изделия также в прайс-листах.

Фото перил для лестниц

Также рекомендуем просмотреть:

грамотный выбор, виды элементов, фото изделий

Как известно, лестница не может обходиться без перил. Именно они обеспечивают уверенность и безопасность человеку при спуске или подъеме по ступеням, выполняют функцию декорирующую и являются неотъемлемой частью всякого дома, этажностью больше одного. Для изготовления перил используются самые различные материалы. Причем они могут быть изготовлены из того же материала, что и ступени с балясинами, а могут иметь совершенно другое исполнение. При выборе материала нужно учитывать многие факторы, которые влияют на использование лестничных конструкций, и их месторасположение.

Как сделать грамотный выбор

Наиглавнейшим фактором в моменте выбора материала для изготовления перил обычно считается интерьер помещения. Для некоторых домов, оформленных в таких стилях как модерн, или хай-тек, очень подходят виды из ПВХ или стекла. Помещения с более легким, почти классическим оформление грамотнее было бы украсить перилами из дерева, металла или ПВХ.

У лестниц перила являются очень важным и неотъемлемым элементом, оборудуя который необходимо учитывать то, на сколько гармонично они будут сочетаться с остальными элементами декорирования помещения, категорию людей, проживающих в данном доме, и эксплуатирующих лестницу.

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

Материалы, из которых могут быть изготовлены:

  • Бетон;
  • Дерево;
  • Стекло;
  • Алюминий;
  • Нержавеющая сталь;
  • Пластик;
  • Хромированные элементы;
  • Никелированные металлические изделия.

Естественно, материал вы будете подбирать самостоятельно, однако, если вы не асс в дизайнерском мастерстве, то лучше воспользоваться советом специалиста.

Красивые кованые перила для лестницы в частном доме: виды элементов

Современные лестничные конструкции могут быть украшены не просто качественными элементами ограждения. Некоторые материалы действительно облагораживают и делают стильным любой, даже упрощенный вариант дизайна.

Кованные перила для лестниц в доме могут быть сборные, литые и сварные. Как и деревянные, эти поручни никогда не смогут выйти из моды. Они олицетворяют достаток, успех, стабильность и отличный вкус хозяина.

Без сомнений, настоящим символом роскоши можно назвать кованые лестничные перила. Можно среди них назвать такие экземпляры, что относятся к настоящим шедеврам искусства. Глядя на эти оригинальные и очень дорогие элементы, кажется, что весь дом преображается, становится краше и выглядит немного богаче и стильнее. Настоящие мастера, при помощи элементов художественной ковки, могут поставить утонченные ажурные украшения в виде цветов или  веток, и громоздкие крупные фигуры. Больше всего этот вид ограждения будет подходить для поворотной и забежной лестниц. Оригинальные кованные цветы, фигуры, или золотая роспись придает лестничным маршам модульной винтовой лестницы, ведущей на второй этаж неповторимый, оригинальный вид.

Какую форму лучше всего выбрать для частного дома:

  • Круглую;
  • Классическую;
  • Овальную;
  • Закругленную;
  • Квадратный элемент;
  • Прямоугольную;
  • Изогнутую.

Благодаря довольно высокой температуре, при помощи которой проводят ковку, мастер может придать изделию самые различные формы. Можно сделать их прямыми, с мягкими линиями, выпуклыми. Элементы декора будут изогнутыми, ровными, витыми, или же с четкими геометрическими формами. Представляется возможность покрасить их в подходящие цвета, а также создать выразительную композицию. Однако, стильнее и богаче будет выглядеть естественный, натуральный природный цвет.

Делаем перила из дерева для бетонных лестниц: выбираем лучшие варианты

При строительстве лестниц дизайнеры могут использовать дерево, даже в случае, когда лестничный марш изготовлен из какого-то другого материала. И в этом нет ничего удивительного. Дерево – это самый экологически чистый продукт. Он имеет приятную поверхность, даже на ощупь, а также солидный и стильный внешний вид.

Главным недостатком деревянных перил была и остается цена. Виды из элитных сортов дерева обойдутся вам в немаленькую в копеечку, но если вы выберете не очень редкий, достаточно бюджетный сорт древесины, то цена может получиться вполне приемлемой.

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

Кроме этого у дерева имеются свои недостатки, влияющие на выбор.

Недостатки изделий:

  • Влага действует на них губительно;
  • Внешний вид портится от перепадов температуры;
  • Не отличаются долговечностью;
  • Постоянно нужно ремонтировать и ухаживать;
  • Сложны в монтаже;
  • Имеют высокую стоимость.

Однако, если не смотреть на недостатки, грамотно оформленные и качественно выполненные лестничные перила будут иметь достаточно красивый, стильный вид. Однако устанавливать их можно только внутри помещения.

Необычные наружные перила: фото изделий

Лестница – неотъемлемый элемент в доме, где имеется более чем один этаж. Но не только. У некоторых строений бывает настолько высокий первый уровень, что приходится делать ряд ступеней для того, чтобы попасть в жилище. В этом случае необходимо рассматривать возведение таких конструкций, как лестница наружная, которая отличается от внутренней и имеет свои нюансы.

Для этажей, расположенных над первым, и имеющих вход с улицы, или наружного балкона, также применяется такая конструкция, как уличная лестница.

Перила для лестницы, которая находится на улице, должны иметь свои специфические особенности. В силу их расположения и того, что элементы все время расположены под открытым небом, под воздействием различных погодных условий, данные конструкции монтировать нужно грамотно и по правилам. К тому же, материал, из которого изготавливают уличные лестницы и перила к ним, также должен соответствовать расположению конструкций.

Материалами для изготовления:

  • Металл;
  • Пластик;
  • Нержавейка;
  • Стекло;
  • Бетон.

Как мы видим, в силу того, что элементы не будут защищены от дождя, ветра и резких перепадов температуры, выбор материала ограничен.

Стеклянные лестничные перила: особенности материала

Сегодня в разработках дизайнеров можно увидеть достаточно много самых разных, необычных и причудливых композиций. Если бы они появились на рынке лет 50 назад, тогда никто бы и не решился их устанавливать в своем доме. Но сегодня положение дел обстоит совершенно по-другому, и новейшие технологии отлично вписываются в быт и современные дизайнерские проекты.

Естественно, вы не сможете увидеть стеклянные перила для лестниц, везде и повсеместно, однако, но они твердо завоевывают пространство в современных домах и квартирах. Их дизайн сочетается со многими стилями интерьера, а для изготовления не потребуется особых денежных затрат

Они крепятся, в основном, при помощи алюминиевых или стальных труб, а затем оборудуются различного рода поручнями. Для изготовления таких перил применяют лишь прочное, сделанное по специальным технологиям, стекло.

Дизайнерские стили, в которых применяются стеклянные перила и прозрачная лестница:

  • Лофт;
  • Шале;
  • Модерн;
  • Хай-тек – стиль;
  • Эклектический;
  • Американский.

При возведении стеклянных перил необходимо помнить, что важным звеном в оформлении выступает освещение. От него будет зависеть не только декоративная составляющая лестницы, но и безопасность по ней ступающих людей.

Качественное перильное ограждение: из чего оно состоит

Для дачного загородного дома, построенного своими руками, перильное ограждение также имеет не малую значимость. В данном случае также необходимо определить тип конструкций, которые вам нужно оборудовать. Установка элементов надежности передвижения к веранде, домашней беседке, или до террасы по лестнице из профиля, имеющей два и более маршей или площадок, должна производится строго по нормам. Какие бы стильные не были лестницы, но если они недостаточно хорошо укреплены кованными, из пластика, или профильной трубы перилами, то передвижение по ним небезопасно. Высота ограждений также должна быть выдержана согласно норм.

Внутренние перила, имеющие декоративные балясины, деревянные или пластиковые, установить гораздо проще, чем железные. Их изготовление производится отдельно. Поручень собирается поочередно, а крепление к стене вообще не составляет труда. Наиболее простым решением можно назвать простые настенные горизонтальные стойки, или держатели из каната, которые закреплены непосредственно к стене.

Эскизы и чертеж готовых лестничных проектов домов, или на дачу, состоят из всех необходимых элементов, в том числе и перил. Устройство конструкций по ним дает возможность качественно обработать любые варианты и прикрепить действенный элемент.

Комплектующие элементы:

  • Балясины;
  • Подбалясенные планки;
  • Столбы;
  • Поручни;
  • Подпоручные планки;
  • Кронштейны.

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

Для того, чтобы правильно закрепить перила, необходимо соблюдать «золотые» правила, которые прописаны в нормах. Крепить элементы необходимо так, чтобы их высота была от 90 до 80 см, а расстояние от балясины до балясины не больше, чем 12 см.

Лестничные перила или ограждения часть 1

Разнообразие видов перил, использующихся для ограждения лестниц, позволяет создавать уникальные конструкции внутри и на внешней стороне здания

Перила обеспечивают безопасность передвижения по лестнице. Для изготовления такого элемента вертикальной конструкции могут быть использованные различные материалы. Самыми востребованными считаются алюминий, пластик и дерево. Кроме того, существует целый ряд современных материалов, придающих перилам не только функциональный, но и привлекательный вид. В зависимости от назначения и места размещения лестниц выбирается тот или иной вид изделий.

 

В основном перилами оснащаются лестницы, высота которых рассчитана на более, чем 4 ступени. Среди основных функций ограждений, установленных по краю лестничных конструкций, безопасность занимает самое значительное место. Перила исключают возможность оступиться или упасть особенно при передвижении по винтовым и крутым лестничным маршам. Эти обязательные элементы лестниц выполняют также функцию поддержки, которая в полной мере используется людьми пожилого возраста, инвалидами и детьми. Облегчая подъем и спуск между уровнями здания, перила позволяют распределить нагрузку на конечности и удержать тело в равновесии. Декоративная функция лестничных ограждений реализуется в их оформлении.

Деление перил на разновидности


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

Кабельные перила Vs. Перила штанги

Две системы заполнения – перила со стержнями и перила для кабелей – появились на рынке металлических перил. Благодаря изящным линиям и скрытой фурнитуре они меняют картину современных перил и современного дизайна. Оба заполнителя изготовлены из прочных материалов из нержавеющей стали и компонентов из нержавеющей стали.

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

Установка кабеля

Установка перил для кабеля знакома многим. Несмотря на простой и элегантный внешний вид, для правильной установки даже опытным установщикам может потребоваться некоторое время. Большая часть времени уходит на измерение и обрезку кабеля.

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

Мы определили, что установщик обычно может рассчитывать примерно на 1 час установки на стойку для кабельных ограждений.

как установить кабельные перила

Штанговая установка

Меньше людей знакомы с установкой перил со стержнями, но монтаж стоек и поручней одинаков. Основное различие между ними – время и усилия при измерении и нарезке стержней.

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

Мы определили, что установщик обычно может рассчитывать примерно на 30-40 минут времени установки на стойку для стержневых перил.

как установить перила штанги

Коррозионная стойкость

Хотя перила для тросов и стержней изготовлены из нержавеющей стали, в них используются разные сплавы. Для изготовления перил для кабелей используется сплав 316L, очень распространенный в индустрии архитектурных перил.

Этот сплав считается стандартом коррозионной стойкости на рынке архитектурных перил на протяжении более 30 лет.Однако 316L не всегда режет его в самых агрессивных средах.

Для перил

используется нержавеющая сталь 2205, которая является новинкой в ​​мире архитектурных ограждений. Но хотя перила в новинку, они десятилетиями зарекомендовали себя в экстремальных условиях глубоководного бурения нефтяных скважин.

Эта дуплексная нержавеющая сталь имеет число эквивалентов питтинговой стойкости (PREN), равное 34, что выше 32 баллов, необходимых для коррозионной стойкости в морской среде. Для сравнения, нержавеющая сталь 316L имеет только 25 баллов, что делает ее уязвимой.

Техническое обслуживание и уход

Как перила для кабелей, так и перила со стержнями требуют меньшего обслуживания, чем другие современные решения для перил, такие как стеклянные перила. На этих тонких перилах грязные пятна не видны. Однако то, что вы не видите мусора или грязных пятен с первого взгляда, не означает, что вы должны регулярно чистить.

Кабельные перила состоят из множества различных жил кабеля (кабель Viewrail использует 19 отдельных проводов). Это создает внешний вид тонкой ткани, и, если не проводить регулярную очистку и обслуживание, коррозионные элементы могут проникнуть внутрь и застрять внутри жил кабеля, что может привести к медленному распусканию жил кабеля и / или началу коррозии.

В то время как перила для кабелей сотканы из множества отдельных проволок, перила со стержнями представляют собой цельный кусок трубчатой ​​нержавеющей стали с полностью круглым профилем. Это не дает элементам возможности проникнуть в материал и вызвать такое же распутывание. Большая область, на которую следует обратить пристальное внимание, – это убедиться, что между стержнями и стойками не застревает мусор, который может вызвать образование пятен вокруг отверстий.

В любом случае регулярная чистка тканью из микрофибры и мыльной водой сохранит перила в первозданном виде.

Изогнутые / радиальные приложения

Последнее, что нужно оценить при выборе перил с тросом и стержнем, – это наличие каких-либо изогнутых участков в перилах. После приложения натяжения к перилам для кабелей они всегда будут двигаться по прямой от одной стойки к другой, а это значит, что вы не сможете создать истинную кривую или радиус.

Стержневые перила, поскольку они сделаны из трубы, будут слегка изгибаться, чтобы следовать изгибам с радиусом 8 футов. Это делает его идеальным для балконов с изогнутым выходом или других применений радиуса.

Последние мысли

Теперь, когда мы рассмотрели большие различия между стержнями и перилами для кабелей, вы должны быть на правильном пути к принятию обоснованного решения о том, что лучше всего подходит для вашего проекта. Вы можете просмотреть приведенную ниже таблицу, чтобы напомнить вам о сходствах и различиях между этими двумя перилами.

Перила штанги Кабельные перила
Общее в современном / современном дизайне Есть Есть
Толщина заполнения 1/4 ″ 5/32 ″
Тип материала 2205 Нержавеющая сталь 316L
Время установки 30-40 минут / пост 1 час / пост
Необходимое техническое обслуживание и уход Обычная стирка Обычная стирка
Скрытое оборудование Есть Да, узнать больше
Радиус / изгиб Будет изгибаться Работает только по прямой

Нужна помощь? Обратитесь за помощью к нашим специалистам.

Кабельные перила

: что такое кабельные направляющие? – Все о кабельных перилах для лестниц

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

Что такое кабельные перила?

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

Типы кабельных перил

Cable может быть идеальным вариантом перил как для жилых, так и для коммерческих проектов, внутренних или внешних. Типичная система состоит из нескольких горизонтальных прядей кабеля, разнесенных в соответствии с требованиями строительных норм и натянутых до плотной, но слегка гибкой посадки.В компании Viewrail мы рекомендуем расстояние между нашими кабелями 5 / 32 дюйма 3 1 / 8 дюймов. Прокладки кабеля пропускаются через столбы по мере необходимости как для соответствия требованиям строительных норм, так и для уменьшения и устранения прогиба кабеля. Мы рекомендуем расстояние между стойками перил для кабелей не более 4 футов. Совместимые материалы для столбов включают нержавеющую сталь (мы предлагаем 304 и 2205 судового класса), алюминий и дерево.

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

Сравнение металлических и деревянных кабельных перил

Характеристики Металлические кабельные перила Деревянные кабельные перила
Стиль Модерн, минимализм Традиционный, современный
Используется для внутренних работ Есть Есть
Используется для внешних проектов Есть Есть
Идеально для лестниц, террас, доков, патио и др. Есть Есть
Использует 5 / 32 ”Кабель из нержавеющей стали 316L морского класса Есть Есть
Максимальное расстояние между стойками 4 ’ 8 футов с промежуточной стойкой, необходимой каждые 4 фута
Использует промежуточные стойки Есть
Совместимые материалы перил Алюминий, нержавеющая сталь, дерево Алюминий, нержавеющая сталь, дерево
Совместимые комплекты натяжения / крепления Комплект для натяжения уровня / угла, комплект KeyMount DriveTite Kit, комплект для натяжения дерева по уровню / углу
Крепежные / натяжные устройства спрятаны внутри столбов Есть Есть

Стиль и дизайн системы кабельных направляющих

Есть три основные причины, по которым кабельная система может быть идеальным решением для лестницы или перил; первая из них – сохранить и улучшить вид на участок земли или архитектурный район.Вы выбрали и спроектировали красивое жилое пространство – зачем загромождать вид? Будь то дом на набережной с захватывающим видом на горизонт, хижина, спрятанная в горных лесах, или просто красивая внутренняя лестница, по которой вы поднимаетесь и спускаетесь каждый день, система Viewrail гарантирует, что все, что вы увидите, – это красивый кабель из нержавеющей стали – и, конечно, твоя точка зрения. Это достигается за счет нескольких ключевых конструктивных особенностей, таких как скрытие аппаратных средств внутри столбов и использование только кабеля и столбов, достаточного для превышения требований безопасности и прочности.

Еще одна причина, по которой кабель может быть лучшей альтернативой по сравнению с традиционными системами перил, – это его гладкий и современный внешний вид. Независимо от того, используется ли кабель со столбами из нержавеющей стали для создания городского стиля или столбами из твердой древесины, чтобы придать пространству ощущение естественного тепла, кабель имеет острый, минималистичный вид, который обычно не предлагает традиционные перила.

Третья причина, по которой часто используются кабельные перила, – это их естественная прочность и архитектурная целостность. Компоненты нашей системы изготавливаются только из материалов высочайшего качества с использованием самого современного оборудования, что гарантирует сохранность ваших перил на долгие годы.

Кабельные перила для настилов

Viewrail – это универсальный продукт, из которого можно сделать фантастические перила из нержавеющей стали. Благодаря прочности и устойчивости к ржавчине нашей нержавеющей стали перила для кабельного настила стильные и долговечные. Использование деревянных перил – отличный способ гармонично вписать перила кабельной террасы в окружающую среду. Часто настил может казаться закрытым, особенно с толстыми балясинами или деревянными рейками. Но установка канатной дороги на палубе сделает вашу палубу открытой и просторной.Палубы сделаны так, чтобы вы могли находиться на открытом воздухе, так что позвольте себе насладиться видом!

Компоненты системы

Хотя конструкция кабельных ограждений Viewrail является настоящим произведением искусства, компоненты, из которых она состоит, столь же инновационны и долговечны, как и привлекательны. Наши кабели и фитинги, которые производятся в США, изготовлены из морской нержавеющей стали 2205. Наши стойки и поручни ежедневно разрезаются, обрабатываются и отделываются на заказ, чтобы соответствовать уникальным спецификациям каждого проекта.

Провод кабельной рейки

Мы рады предложить 5 / 32 ”кабель 1 × 19, натянутый из морской нержавеющей стали 316L. Обладая высокой устойчивостью к агрессивным коррозионным воздействиям, наш кабель обязательно обеспечит долговечную прочность и красоту.

Столбы и поручни для кабельных перил

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

Наши поручни предлагаются как из металла, так и из дерева. Как и наши стойки, металлические поручни могут быть изготовлены из алюминия, морской нержавеющей стали 304 или 2205 и покрыты одним из наших многочисленных полиролей или цветных порошковых покрытий. И наоборот, деревянные поручни вырезаются из одного из наших многочисленных доступных видов и могут быть отделаны широким выбором красок и морилки.

Комплекты оборудования для кабельных ограждений

Изготовленный в США из морской нержавеющей стали 2205, Viewrail предлагает несколько различных комплектов кабельных перил, совместимых с металлическими или деревянными стойками. В отличие от других систем кабельных перил, в которых длинные натяжные устройства закрывают обзор, оборудование Viewrail скрыто внутри столбов.

Металлические перила

Наш комплект для натяжения уровня содержит все необходимое для натяжения одного конца горизонтального участка кабеля: приемник натяжения, резьбовой обжимной фитинг и стальную вставную втулку.

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

Наш комплект KeyMount содержит все необходимые компоненты для крепления одного конца кабеля изнутри стойки: фитинг KeyMount и клейкую втулку. Однако комплект KeyMount используется при условии, что противоположный конец кабеля натягивается, поскольку KeyMount не имеет функции натяжения; скорее, он просто надежно удерживает кабель на месте, чтобы обеспечить натяжение на противоположном конце кабеля, оставляя края стойки заподлицо с KeyMount без видимого оборудования.

Комплект кабельных направляющих для деревянных систем

Мы предлагаем два различных типа комплектов перил для кабелей для установки и натяжения кабеля в деревянных столбах: DriveTite и Tension. Наши комплекты DriveTite обеспечивают особенно простой и безболезненный процесс установки и даже могут быть дополнены стандартной электродрелью. И наоборот, наши комплекты для натяжения дерева предназначены для столбов с предварительно просверленными отверстиями и устанавливаются так же, как и для металлических конструкций.

В наш комплект DriveTite входят два разных комплекта для горизонтальной или наклонной кабельной системы.Используйте наш установочный комплект DriveTite для установки этого комплекта, мы рекомендуем использовать наш 5-дюймовый длинный отвертка T-30 для затягивания натяжного винта, а не отвертку стандартной длины T-30.

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

Наш комплект для натяжения деревянных углов содержит все необходимое для натяжения одного конца углового участка кабеля: приемник натяжения, резьбовой обжимной фитинг, угловую шайбу, угловую вставку для дерева и овальную шайбу.

Чтобы упростить и упростить установку этой кабельной арматуры, мы рекомендуем использовать наш набор инструментов для установки кабельной рейки, который позволяет клиентам арендовать или приобретать профессиональное оборудование по доступной цене. В этот комплект входит:

• Инструмент для обжима кабеля
• Резак для кабеля
• Инструмент для вставки кабельной рейки (ваш)
• Направляющий штифт
• Шестигранный ключ (ваш)
• Винт T-30 (для установки крепежных винтов)
• Отвертка вставной гильзы (Деревянный блок)
• Связка струн (для обеспечения совмещения отверстий перед монтажными стойками)

Видео о кабельных перилах своими руками

Посмотрите 15 видеороликов, посвященных монтажу перил для кабеля своими руками, в которых содержатся инструкции по установке перил для кабелей.В эту коллекцию включены следующие видео:

• Руководство по установке комплекта для натяжения уровня
• Руководство по установке комплекта для натяжения угла
• Руководство по установке комплекта KeyMount
• Комплект для установки кабельных перил
• Руководство по установке кронштейна для поручня на задней стенке
• Руководство по установке комплекта DriveTite
• Советы по установке комплекта DriveTite
• Введение в Viewrail Система кабельных рельсов
• Расстояние между стойками кабельных рельсов и прогиб кабеля
• Нарисуйте эскиз кабельной направляющей. Проект
• Использование шайб и овальных шайб с деревянными стойками

Последние проекты системы кабельных рельсов

Просмотрите последние проекты кабельных рельсов, присланные нам от довольных клиентов, которые использовали StairSpplies ™ для своих систем кабельных ограждений.Ниже представлен широкий спектр различных нестандартных конструкций кабельных ограждений, выполненных с прекрасным мастерством.

Современный дизайн лестницы со стойками из нержавеющей стали, уравновешенными темными деревянными полами под современными белыми сводчатыми потолками.

Внешняя система перил кабельного настила с металлическими стойками и перилами. Этот дизайн предлагает первозданную элегантность, безусловно, сочетающуюся с прекрасным видом на озеро.

революционных перил | Крыльцо, варианты перил

Имя

Фамилия

Страна AfghanistanAlbaniaAlgeriaAmerican SamoaAndorraAngolaAnguillaAntarcticaAntigua И BarbudaArgentinaArmeniaArubaAustraliaAustriaAzerbaijanBahamasBahrainBangladeshBarbadosBelarusBelgiumBelizeBeninBermudaBhutanBoliviaBosnia И HerzegowinaBotswanaBouvet IslandBrazilBritish Индийский океан TerritoryBrunei DarussalamBulgariaBurkina FasoBurundiCambodiaCameroonCanadaCape VerdeCayman IslandsCentral африканских RepublicChadChileChinaChristmas IslandCocos (Килинг) IslandsColombiaComorosCongoCook IslandsCosta RicaCote D’IvoireCroatia (местное название: Hrvatska) CubaCyprusCzech RepublicDenmarkDjiboutiDominicaDominican RepublicEast TimorEcuadorEgyptEl SalvadorEquatorial GuineaEritreaEstoniaEthiopiaFalkland (Мальвинские) острова Фарерские IslandsFijiFinlandFranceFrench GuianaFrench PolynesiaFrench Южный TerritoriesGabonGambiaGeorgiaGermanyGhanaGibraltarGreeceGreenlandGrenadaGuadeloupeGuamGuatemalaGuineaGuinea-BissauGuyanaHaitiHeard И острова Макдональд, Священное море (Ватикан), Гондурас, Гонконг, Венгрия, Исель, Индия, Индия. aIndonesiaIran (Исламская Республика) IraqIrelandIsraelItalyJamaicaJapanJordanKazakhstanKenyaKiribatiKorea, Dem НАРОДНОЙ RepublicKorea, Республика OfKuwaitKyrgyzstanLao Народной Dem RepublicLatviaLebanonLesothoLiberiaLibyan арабских JamahiriyaLiechtensteinLithuaniaLuxembourgMacauMacedoniaMadagascarMalawiMalaysiaMaldivesMaliMaltaMarshall IslandsMartiniqueMauritaniaMauritiusMayotteMexicoMicronesia, Федеративные StatesMoldova, Республика OfMonacoMongoliaMontserratMoroccoMozambiqueMyanmarNamibiaNauruNepalNetherlandsNetherlands Ant IllesNew CaledoniaNew ZealandNicaraguaNigerNigeriaNiueNorfolk IslandNorthern Mariana IslandsNorwayOmanPakistanPalauPanamaPapua Новый GuineaParaguayPeruPhilippinesPitcairnPolandPortugalPuerto RicoQatarReunionRomaniaRussian FederationRwandaSaint K СИТТ и Невис

Rails Интернационализация (i18n) API – Руководства по Ruby on Rails

Платформа Ruby I18n предоставляет вам все необходимые средства для интернационализации / локализации вашего приложения Rails.Вы также можете использовать различные доступные драгоценные камни для добавления дополнительных функций или возможностей. См. Гем rails-i18n для получения дополнительной информации.

1 Как работает I18n в Ruby on Rails

Интернационализация – сложная проблема. Естественные языки различаются по многим параметрам (например, правилами плюрализации), что трудно предоставить инструменты для решения всех проблем сразу. По этой причине API Rails I18n фокусируется на:

  • с поддержкой английского и подобных языков из коробки
  • упрощает настройку и расширение всего для других языков

В рамках этого решения каждая статическая строка в фреймворке Rails – e.г. Сообщения проверки Active Record, форматы времени и даты – код переведен на международный уровень . Локализация приложения Rails означает определение переведенных значений для этих строк на желаемые языки.

Чтобы локализовать магазин и обновить содержимое в вашем приложении (например, перевести сообщения блога), см. Раздел «Перевод содержимого модели».

1.1 Общая архитектура библиотеки

Таким образом, гем Ruby I18n разделен на две части:

  • Общедоступный API фреймворка i18n – модуль Ruby с общедоступными методами, которые определяют, как работает библиотека
  • Бэкэнд по умолчанию (который намеренно назван Простой бэкэнд ), реализующий эти методы

Как пользователь вы всегда должны иметь доступ только к общедоступным методам модуля I18n, но полезно знать о возможностях серверной части.

Можно заменить поставляемый Simple backend на более мощный, который будет хранить данные перевода в реляционной базе данных, словаре GetText или подобном. См. Раздел «Использование различных серверных ВМ» ниже.

1.2 Открытый API I18n

Наиболее важные методы I18n API:

  translate # Поиск переводов текста
localize # Локализовать объекты даты и времени в локальные форматы
  
translate # Искать переводы текста localize # Локализовать объекты даты и времени в локальные форматы Копировать

У них есть псевдонимы #t и #l, поэтому вы можете использовать их так:

  I18n.t 'store.title'
I18n.l Time.now
  
I18n.t ‘store.title’ I18n.l Time.now Копировать

Существуют также считывающие и записывающие атрибуты для следующих атрибутов:

  load_path # Объявление ваших пользовательских файлов перевода
locale # Получить и установить текущую локаль
default_locale # Получить и установить языковой стандарт по умолчанию
available_locales # Разрешенные языковые стандарты, доступные для приложения
enforce_available_locales # Принудительное разрешение локали (true или false)
exception_handler # Использовать другой exception_handler
backend # Использовать другой backend
  
load_path # Объявите о ваших пользовательских файлах перевода locale # Получить и установить текущую локаль default_locale # Получить и установить языковой стандарт по умолчанию available_locales # Разрешенные языковые стандарты, доступные для приложения enforce_available_locales # Принудительное разрешение локали (true или false) exception_handler # Использовать другой exception_handler backend # Использовать другой backend Копировать

Итак, в следующих главах давайте интернационализируем простое приложение Rails с нуля!

2 Настройка приложения Rails для интернационализации

Чтобы начать работу с поддержкой I18n для приложения Rails, нужно выполнить несколько шагов.

2.1 Конфигурация модуля I18n

Следуя соглашению по философии конфигурации , Rails I18n предоставляет разумные строки перевода по умолчанию. Когда требуются разные строки перевода, их можно переопределить.

Rails автоматически добавляет все файлы .rb и .yml из каталога config / locales в путь загрузки переводов .

Локаль по умолчанию en.yml в этом каталоге содержит пример пары строк перевода:

  ru:
  привет: "Привет, мир"
  
ru: привет: “Привет, мир” Копировать

Это означает, что в локали : en ключ hello будет отображаться в строку Hello world .Таким образом, каждая строка внутри Rails интернационализирована, см., Например, сообщения о проверке активной модели в файле activemodel / lib / active_model / locale / en.yml или форматы времени и даты в файле activesupport / lib / active_support / locale / en .yml файл. Вы можете использовать YAML или стандартные хэши Ruby для хранения переводов в бэкэнде по умолчанию (простом).

Библиотека I18n будет использовать English в качестве языкового стандарта по умолчанию , т.е., если другой языковой стандарт не установлен, для поиска переводов будет использоваться : en .

Библиотека i18n использует прагматический подход к ключам локали (после некоторого обсуждения), включая только часть locale («язык»), например : en , : pl , а не часть region , например, : «en-US» или : «en-GB» , которые традиционно используются для разделения «языков» и «региональных настроек» или «диалектов». Многие международные приложения используют только элемент «язык» локали, например : cs , : th или : es (для чешского, тайского и испанского языков).Однако существуют также региональные различия внутри разных языковых групп, которые могут иметь значение. Например, в локали : «en-US» в качестве символа валюты будет доллар, а в : «en-GB» – £. Ничто не мешает вам разделить региональные и другие параметры таким образом: вам просто нужно указать полную локаль «Английский – Великобритания» в словаре : «en-GB» .

Путь загрузки переводов ( I18n.load_path ) – это массив путей к файлам, которые будут загружены автоматически.Настройка этого пути позволяет настроить структуру каталогов переводов и схему именования файлов.

Серверная часть выполняет отложенную загрузку этих переводов при первом поиске перевода. Этот бэкэнд можно заменить чем-то другим даже после того, как переводы уже были объявлены.

Вы можете изменить локаль по умолчанию, а также настроить пути загрузки переводов в config / application.rb следующим образом:

  config.i18n.load_path + = Dir [Rails.root.join ('my', 'locales', '*. {rb, yml}')]
  config.i18n.default_locale =: de
  
config.i18n.load_path + = Dir [Rails.root.join (‘my’, ‘locales’, ‘*. {rb, yml}’)] config.i18n.default_locale =: de Копировать

Путь загрузки должен быть указан перед поиском любых переводов. Чтобы изменить языковой стандарт по умолчанию из инициализатора вместо config / application.rb :

  # config / initializers / locale.rb

# Где библиотека I18n должна искать файлы перевода
I18n.load_path + = Dir [Rails.root.join ('lib', 'locale', '*. {rb, yml}')]

# Разрешенные языковые стандарты, доступные для приложения
I18n.available_locales = [: en,: pt]

# Установите языковой стандарт по умолчанию на что-нибудь кроме: en
I18n.default_locale =: pt
  
# config / initializers / locale.rb # Где библиотека I18n должна искать файлы перевода I18n.load_path + = Dir [Rails.root.join (‘lib’, ‘locale’, ‘*. {Rb, yml}’)] # Разрешенные языковые стандарты, доступные для приложения I18n.available_locales = [: en,: pt] # Установите языковой стандарт по умолчанию на что-нибудь кроме: en I18n.default_locale =: pt Копировать

Обратите внимание, что добавление непосредственно к I18n.load_path вместо настроенного i18n приложения приведет к переопределению , а не переводов из внешних гемов.

2.2 Управление локалью в запросах

Локализованное приложение, вероятно, должно будет обеспечивать поддержку нескольких локалей. Для этого языковой стандарт должен быть установлен в начале каждого запроса, чтобы все строки переводились с использованием желаемого языкового стандарта в течение времени существования этого запроса.

Локаль по умолчанию используется для всех переводов, если не используется I18n.locale = или I18n.with_locale .

I18n.locale может просочиться в последующие запросы, обслуживаемые одним и тем же потоком / процессом, если он не установлен последовательно в каждом контроллере. Например, выполнение I18n.locale =: es в одном запросе POST будет иметь эффект для всех последующих запросов к контроллерам, которые не устанавливают языковой стандарт, а только в этом конкретном потоке / процессе. По этой причине вместо I18n.locale = , вы можете использовать I18n.with_locale , у которого нет этой проблемы с утечкой.

Локаль может быть установлена ​​в around_action в ApplicationController :

  around_action: switch_locale

def switch_locale (& действие)
  locale = params [: locale] || I18n.default_locale
  I18n.with_locale (язык и действие)
конец
  
around_action: switch_locale def switch_locale (& действие) locale = params [: locale] || I18n.default_locale I18n.with_locale (язык и действие) конец Копировать

В этом примере это показано с помощью параметра запроса URL для установки языкового стандарта (например, http://example.com/books?locale=pt ). При таком подходе http: // localhost: 3000? Locale = pt отображает португальскую локализацию, а http: // localhost: 3000? Locale = de загружает немецкую локализацию.

Локаль можно установить с помощью одного из множества различных подходов.

2.2.1 Установка языкового стандарта на основе имени домена

Один из вариантов, который у вас есть, – это установить языковой стандарт на основе имени домена, на котором выполняется ваше приложение.Например, мы хотим, чтобы www.example.com загружал английский язык (или языковой стандарт по умолчанию), а www.example.es загружал испанский язык. Таким образом, для настройки локали используется доменное имя верхнего уровня . Это дает несколько преимуществ:

  • Локаль – это очевидная часть URL-адреса .
  • Люди интуитивно понимают, на каком языке будет отображаться контент.
  • Это очень тривиально реализовать в Rails.
  • Похоже, поисковым системам нравится, что контент на разных языках живет в разных, взаимосвязанных доменах.

Вы можете реализовать это так в своем ApplicationController :

  around_action: switch_locale

def switch_locale (& действие)
  locale = extract_locale_from_tld || I18n.default_locale
  I18n.with_locale (язык и действие)
конец

# Получить локаль из домена верхнего уровня или вернуть + nil +, если такая локаль недоступна
# Вы должны поставить что-то вроде:
# 127.0.0.1 application.com
# 127.0.0.1 application.it
# 127.0.0.1 application.pl
# в вашем файле / etc / hosts, чтобы опробовать это локально
def extract_locale_from_tld
  parsed_locale = запрос.host.split ('.'). последний
  I18n.available_locales.map (&: to_s) .include? (Parsed_locale)? parsed_locale: ноль
конец
  
around_action: switch_locale def switch_locale (& действие) locale = extract_locale_from_tld || I18n.default_locale I18n.with_locale (язык и действие) конец # Получить локаль из домена верхнего уровня или вернуть + nil +, если такая локаль недоступна # Вы должны поставить что-то вроде: # 127.0.0.1 application.com # 127.0.0.1 application.it # 127.0.0.1 application.pl # в вашем файле / etc / hosts, чтобы опробовать это локально def extract_locale_from_tld parsed_locale = запрос.host.split (‘.’). последний I18n.available_locales.map (&: to_s) .include? (Parsed_locale)? parsed_locale: ноль конец Копировать

Мы также можем установить локаль из поддомена очень похожим образом:

  # Получить код локали из поддомена запроса (например, http: //it.application.local: 3000)
# Вы должны поставить что-то вроде:
# 127.0.0.1 gr.application.local
# в вашем файле / etc / hosts, чтобы опробовать это локально
def extract_locale_from_subdomain
  parsed_locale = request.subdomains.first
  I18n.available_locales.map (&: to_s) .include? (parsed_locale)? parsed_locale: ноль
конец
  
# Получить код локали из поддомена запроса (например, http: //it.application.local: 3000) # Вы должны поставить что-то вроде: # 127.0.0.1 gr.application.local # в вашем файле / etc / hosts, чтобы опробовать это локально def extract_locale_from_subdomain parsed_locale = request.subdomains.first I18n.available_locales.map (&: to_s) .include? (Parsed_locale)? parsed_locale: ноль конец Копировать

Если ваше приложение включает меню переключения языкового стандарта, в нем будет что-то вроде этого:

  link_to ("Deutsch", "# {APP_CONFIG [: deutsch_website_url]} # {request.env ['PATH_INFO']} ")
  
link_to (“Deutsch”, “# {APP_CONFIG [: deutsch_website_url]} # {request.env [‘PATH_INFO’]}”) Копировать

при условии, что вы установили APP_CONFIG [: deutsch_website_url] на какое-то значение, например http://www.application.de .

Это решение имеет вышеупомянутые преимущества, однако вы не сможете или не захотите предоставлять различные локализации («языковые версии») для разных доменов. Самым очевидным решением было бы включить код локали в параметры URL (или путь запроса).

2.2.2 Установка языкового стандарта из параметров URL-адреса

Наиболее распространенный способ установки (и передачи) языкового стандарта – это включить его в параметры URL-адреса, как мы это сделали в I18n.with_locale (params [: locale], & action) around_action в первом примере. В этом случае нам нужны URL-адреса типа www.example.com/books?locale=ja или www.example.com/ja/books .

Этот подход имеет почти тот же набор преимуществ, что и установка языкового стандарта из имени домена: а именно, что это RESTful и согласовано с остальной частью World Wide Web.Однако для его реализации потребуется немного больше работы.

Получить локаль из params и установить соответственно несложно; включая его в каждый URL-адрес и, таким образом, передает его через запросы . Чтобы включить явную опцию в каждый URL, например link_to (books_url (locale: I18n.locale)) , конечно, было бы утомительно и, вероятно, невозможно.

Rails содержит инфраструктуру для «централизации динамических решений об URL-адресах» в своем ApplicationController # default_url_options , что полезно именно в этом сценарии: оно позволяет нам устанавливать «значения по умолчанию» для url_ для и вспомогательных методов, зависящих от него ( реализация / переопределение default_url_options ).

Мы можем включить что-то вроде этого в наш ApplicationController , тогда:

  # приложение / контроллеры / application_controller.rb
def default_url_options
  {locale: I18n.locale}
конец
  
# приложение / контроллеры / application_controller.rb def default_url_options {locale: I18n.locale} конец Копировать

Каждый вспомогательный метод, зависящий от url_ для (например, помощники для именованных маршрутов, таких как root_path или root_url , маршруты ресурсов, такие как books_path или books_url и т. Д.) теперь автоматически включает языковой стандарт в строку запроса , например: http: // localhost: 3001 /? locale = ja .

Возможно, вас это удовлетворит. Однако это влияет на удобочитаемость URL-адресов, когда языковой стандарт «зависает» в конце каждого URL-адреса в вашем приложении. Более того, с архитектурной точки зрения языковой стандарт обычно иерархически выше других частей домена приложения: и URL-адреса должны отражать это.

Вероятно, вы хотите, чтобы URL-адреса выглядели так: http: // www.example.com/en/books (загружает английский язык) и http://www.example.com/nl/books (загружает голландский язык). Это достижимо с помощью стратегии «перекрыть default_url_options », описанной выше: вам просто нужно настроить свои маршруты с областью действия :

  # config / routes.rb
scope "/: locale" делать
  ресурсы: книги
конец
  
# config / routes.rb scope “/: locale” делать ресурсы: книги конец Копировать

Теперь, когда вы вызываете метод books_path , вы должны получить "/ en / books" (для локали по умолчанию).URL-адрес типа http: // localhost: 3001 / nl / books должен загружать голландский языковой стандарт, а затем, а последующие вызовы books_path должны возвращать "/ nl / books" (поскольку языковой стандарт изменился).

Поскольку возвращаемое значение default_url_options кэшируется для каждого запроса, URL-адреса в селекторе языкового стандарта не могут быть сгенерированы с вызовом помощников в цикле, который устанавливает соответствующий I18n.locale на каждой итерации. Вместо этого оставьте I18n.locale нетронутым и передайте явную опцию : locale помощнику или отредактируйте запрос .исходный_путь .

Если вы не хотите принудительно использовать языковой стандарт в своих маршрутах, вы можете использовать дополнительную область пути (обозначенную круглыми скобками), например:

  # config / routes.rb
область "(: локаль)", локаль: / en | nl / do
  ресурсы: книги
конец
  
# config / routes.rb область “(: локаль)”, локаль: / en | nl / do ресурсы: книги конец Копировать

При таком подходе вы не получите ошибку маршрутизации при доступе к вашим ресурсам, таким как http: // localhost: 3001 / books , без локали.Это полезно, когда вы хотите использовать языковой стандарт по умолчанию, если он не указан.

Конечно, вам нужно уделить особое внимание корневому URL-адресу (обычно «домашняя страница» или «панель управления») вашего приложения. Такой URL-адрес, как http: // localhost: 3001 / nl , не будет работать автоматически, потому что корень для: "dashboard # index" объявление в вашем routes.rb не учитывает языковой стандарт. (И это правильно: существует только один “корневой” URL.)

Вам, вероятно, потребуется сопоставить такие URL-адреса:

  # config / routes.rb
get '/: locale' => 'dashboard # index'
  
# config / routes.rb get ‘/: locale’ => ‘dashboard # index’ Копировать

Обратите особое внимание на порядок ваших маршрутов , чтобы это объявление маршрута не “съело” другие. (Вы можете добавить его непосредственно перед объявлением root: to .)

2.2.3 Установка языкового стандарта в пользовательских настройках

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

  around_action: switch_locale

def switch_locale (& действие)
  locale = current_user.try (: locale) || I18n.default_locale
  I18n.with_locale (язык и действие)
конец
  
around_action: switch_locale def switch_locale (& действие) locale = current_user.try (: locale) || I18n.default_locale I18n.with_locale (язык и действие) конец Копировать
2.2.4 Выбор подразумеваемого языкового стандарта

Если явный языковой стандарт не был установлен для запроса (например, с помощью одного из вышеуказанных методов), приложение должно попытаться вывести желаемый языковой стандарт.

HTTP-заголовок Accept-Language указывает предпочтительный язык для ответа на запрос. Браузеры устанавливают это значение заголовка на основе настроек языковых предпочтений пользователя, что делает его хорошим первым выбором при определении языкового стандарта.

Тривиальная реализация использования заголовка Accept-Language будет:

  def switch_locale (& действие)
  регистратор.[а-я] {2} /). первый
  конец
Копировать

 

На практике, чтобы сделать это надежно, необходим более надежный код. Библиотека http_accept_language Иэна Хекера или промежуточное ПО Rack для локали Райана Томайко предоставляют решения этой проблемы.

2.2.4.2 Определение локали из IP-геолокации

IP-адрес клиента, делающего запрос, может использоваться для определения региона клиента и, следовательно, его локали. Для реализации этого подхода можно использовать такие сервисы, как GeoIP Lite Country или драгоценные камни, такие как геокодер.

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

2.2.5 Сохранение языкового стандарта из сеанса или файлов cookie

У вас может возникнуть соблазн сохранить выбранный языковой стандарт в сеансе или в файле cookie . Однако не делает этого . Языковой стандарт должен быть прозрачным и быть частью URL-адреса. Таким образом, вы не нарушите основные предположения людей о самой сети: если вы отправите URL-адрес другу, они должны увидеть ту же страницу и контент, что и вы.Замечательным словом для этого будет то, что вы RESTful . Подробнее о подходе RESTful читайте в статьях Стефана Тилкова. Иногда из этого правила бывают исключения, которые обсуждаются ниже.

3 Интернационализация и локализация

OK! Теперь вы инициализировали поддержку I18n для своего приложения Ruby on Rails и сообщили ему, какой языковой стандарт использовать и как сохранять его между запросами.

Далее нам нужно интернационализировать наше приложение путем абстрагирования каждого элемента, зависящего от локали.Наконец, нам нужно локализовать , предоставив необходимые переводы для этих рефератов.

Рассмотрим следующий пример:

  # config / routes.rb
Rails.application.routes.draw делать
  корень в: "дом # индекс"
конец
  
# config / routes.rb Rails.application.routes.draw делать корень в: "дом # индекс" конец Копировать
  # приложение / контроллеры / application_controller.rb
класс ApplicationController  
# приложение / контроллеры / application_controller.rb класс ApplicationController # приложение / контроллеры / home_controller.rb класс HomeController
# приложение / контроллеры / home_controller.rb класс HomeController # app / views / home / index.html.erb

Привет, мир

<% = flash [: notice]%>

# app / views / home / index.html.erb

Привет, мир

<% = flash [: notice]%>

Копировать

3.1 Абстрагирование локализованного кода

В нашем коде есть две строки на английском языке, которые пользователи будут отображать в нашем ответе («Hello Flash» и «Hello World»).Чтобы интернационализировать этот код, эти строки необходимо заменить вызовами помощника Rails #t с соответствующим ключом для каждой строки:

  # приложение / контроллеры / home_controller.rb
класс HomeController  
# приложение / контроллеры / home_controller.rb класс HomeController # app / views / home / index.html.erb

<% = t: hello_world%>

<% = flash [: notice]%>

# app / views / home / index.html.erb

<% = t: hello_world%>

<% = flash [: notice]%>

Копировать

Теперь, когда это представление визуализировано, оно покажет сообщение об ошибке, которое сообщает вам, что переводы для ключей : hello_world и : hello_flash отсутствуют.

Rails добавляет к вашим представлениям вспомогательный метод t ( translate ), так что вам не нужно писать I18n по буквам.т все время. Кроме того, этот помощник обнаружит отсутствующие переводы и преобразует полученное сообщение об ошибке в .

3.2 Предоставление переводов интернационализированных строк

Добавьте недостающие переводы в файлы словаря переводов:

  # config / locales / en.yml
ru:
  hello_world: Привет, мир!
  hello_flash: Привет, вспышка!

# config / locales / pirate.yml
пират:
  hello_world: Эй, мир
  hello_flash: Эй, Флэш
  
# config / locales / en.yml ru: hello_world: Привет, мир! hello_flash: Привет, вспышка! # config / locales / pirate.yml пират: hello_world: Эй, мир hello_flash: Эй, Флэш Копировать

Поскольку default_locale не изменился, переводы используют языковой стандарт : en , а в ответе отображаются английские строки:

Если языковой стандарт установлен через URL-адрес на пиратский язык ( http: // localhost : 3000? Locale = pirate ), ответ отображает пиратские строки:

Вам необходимо перезапустить сервер, когда вы добавляете новые файлы локали.

Вы можете использовать файлы YAML ( .yml ) или обычные файлы Ruby ( .rb ) для хранения ваших переводов в SimpleStore. YAML - предпочтительный вариант среди разработчиков Rails. Однако у него есть один большой недостаток. YAML очень чувствителен к пробелам и специальным символам, поэтому приложение может неправильно загрузить ваш словарь. Файлы Ruby приведут к сбою вашего приложения при первом запросе, поэтому вы легко сможете найти, что не так. (Если вы столкнетесь с какими-либо «странными проблемами» со словарями YAML, попробуйте поместить соответствующую часть вашего словаря в файл Ruby.)

Если ваши переводы хранятся в файлах YAML, определенные ключи должны быть экранированы. Их:

  • правда, вкл, да
  • ложь, выкл., Нет

Примеры:

  # config / locales / en.yml
ru:
  успех:
    'правда правда!'
    'on': 'Вкл!'
    'false': 'Ложь!'
  отказ:
    правда правда!'
    выкл: "Выкл!"
    false: «Ложь!»
  
# config / locales / en.yml ru: успех: 'правда правда!' 'on': 'Вкл!' 'false': 'Ложь!' отказ: правда правда!' выкл: "Выкл!" false: «Ложь!» Копировать
  I18n.t 'success.true' # => 'Верно!'
I18n.t 'success.on' # => 'Вкл!'
I18n.t 'success.false' # => 'Ложь!'
I18n.t 'failure.false' # => Перевод отсутствует
I18n.t 'failure.off' # => Перевод отсутствует
I18n.t 'failure.true' # => Перевод отсутствует
  
I18n.t 'success.true' # => 'Верно!' I18n.t 'success.on' # => 'Вкл!' I18n.t 'success.false' # => 'Ложь!' I18n.t 'failure.false' # => Перевод отсутствует I18n.t 'failure.off' # => Перевод отсутствует I18n.t 'failure.true' # => Перевод отсутствует Копировать
3.3 Передача переменных в переводы

Одним из ключевых факторов успешной интернационализации приложения является Избегайте неправильных предположений о правилах грамматики при абстрагировании локализованных код. Правила грамматики, которые кажутся основополагающими в одном регионе, могут не выполняться в Еще один.

Неправильная абстракция показана в следующем примере, где предположения сделано о заказе различных частей перевода.Обратите внимание, что Rails предоставляет помощник number_to_currency для обработки следующего случая.

  # app / views / products / show.html.erb
<% = "# {t ('currency')} # {@ product.price}"%>
  
# app / views / products / show.html.erb <% = "# {t ('currency')} # {@ product.price}"%> Копировать
  # config / locales / en.yml
ru:
  валюта: «$»

# config / locales / es.yml
es:
  валюта: «€»
  
# config / locales / en.yml ru: валюта: «$» # config / locales / es.yml es: валюта: «€» Копировать

Если цена товара 10, то правильный перевод для испанского - "10 €". вместо «10 евро», но абстракция не может этого дать.

Для создания правильной абстракции гем I18n поставляется с функцией, называемой переменной. интерполяция, которая позволяет использовать переменные в определениях перевода и передать значения этих переменных в метод перевода.

Правильная абстракция показана в следующем примере:

  # app / views / products / show.html.erb
<% = t ('product_price', price: @ product.price)%>
  
# app / views / products / show.html.erb <% = t ('product_price', price: @product.цена)%> Копировать
  # config / locales / en.yml
ru:
  product_price: "$% {цена}"

# config / locales / es.yml
es:
  product_price: "% {price} €"
  
# config / locales / en.yml ru: product_price: "$% {цена}" # config / locales / es.yml es: product_price: "% {price} €" Копировать

Все грамматические и пунктуационные решения принимаются в самом определении, поэтому абстракция может дать правильный перевод.

Область видимости по умолчанию и Ключевые слова зарезервированы и не могут использоваться в качестве имена переменных.Если используется, возникает исключение I18n :: ReservedInterpolationKey . Если перевод ожидает переменную интерполяции, но она не была передана на #translate возникает исключение I18n :: MissingInterpolationArgument .

3.4 Добавление форматов даты / времени

OK! Теперь давайте добавим метку времени к представлению, чтобы мы могли также продемонстрировать функцию локализации даты и времени . Чтобы локализовать формат времени, вы передаете объект Time в I18n.l или (предпочтительно) использовать помощник Rails ' #l . Вы можете выбрать формат, передав параметр : формат - по умолчанию используется формат : по умолчанию .

  # app / views / home / index.html.erb
 

<% = t: hello_world%>

<% = flash [: notice]%>

<% = l Time.now, формат:: short%>

# app / views / home / index.html.erb

<% = t: hello_world%>

<% = flash [: notice]%>

<% = l Время.теперь формат:: short%>

Копировать

И в наш файл пиратских переводов добавим формат времени (он уже есть в настройках Rails по умолчанию для английского языка):

  # config / locales / pirate.yml
пират:
  время:
    форматы:
      коротко: "arrrround% H'ish"
  
# config / locales / pirate.yml пират: время: форматы: коротко: "arrrround% H'ish" Копировать

Итак, это даст вам:

Прямо сейчас вам может потребоваться добавить еще несколько форматов даты / времени, чтобы серверная часть I18n работала должным образом (по крайней мере, для «пиратской» локали).Конечно, есть большая вероятность, что кто-то уже проделал всю работу по переводу значений Rails по умолчанию для вашего языкового стандарта . См. Репозиторий rails-i18n на GitHub для получения архива файлов различных локалей. Когда вы помещаете такой файл (ы) в каталог config / locales / , они автоматически будут готовы к использованию.

3.5 Правила перегиба для других локалей

Rails позволяет вам определять правила перегиба (такие как правила для сингуляризации и множественного числа) для локалей, отличных от английского.В config / initializers / inflections.rb вы можете определить эти правила для нескольких локалей. Инициализатор содержит пример по умолчанию для указания дополнительных правил для английского языка; следуйте этому формату для других языков по своему усмотрению.

3.6 Локализованные представления

Допустим, у вас есть BooksController в вашем приложении. Действие index отображает содержимое в шаблоне app / views / books / index.html.erb . Когда вы помещаете локализованный вариант этого шаблона: index.es.html.erb в том же каталоге, Rails будет отображать контент в этом шаблоне, если локаль установлена ​​на : es . Если локаль установлена ​​на локаль по умолчанию, будет использоваться общее представление index.html.erb . (Будущие версии Rails вполне могут принести эту автоматическую локализацию в активы в общедоступном и т. Д.)

Вы можете использовать эту функцию, например при работе с большим количеством статического контента, который было бы неуклюже помещать в словари YAML или Ruby.Однако имейте в виду, что любое изменение, которое вы хотите внести в шаблон позже, должно быть распространено на все они.

3.7 Организация файлов локалей

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

Например, ваш каталог config / locales может выглядеть так:

  | -по умолчанию
| --- es.yml
| --- en.yml
| -модели
| --- книга
| ----- es.yml
| ----- en.yml
| -просмотры
| --- значения по умолчанию
| ----- es.yml
| ----- en.yml
| --- книги
| ----- es.yml
| ----- en.yml
| --- пользователи
| ----- es.yml
| ----- en.yml
| --- навигация
| ----- es.yml
| ----- en.yml
  
| -по умолчанию | --- es.yml | --- en.yml | -модели | --- книга | ----- es.yml | ----- en.yml | -просмотры | --- значения по умолчанию | ----- es.yml | ----- en.yml | --- книги | ----- es.yml | ----- en.yml | --- пользователи | ----- es.yml | ----- en.yml | --- навигация | ----- es.yml | ----- en.yml Копировать

Таким образом, вы можете отделить имена моделей и атрибутов модели от текста внутри представлений, и все это от «значений по умолчанию» (например.г. форматы даты и времени). Другие хранилища для библиотеки i18n могут предоставить другие средства такого разделения.

Механизм загрузки локали по умолчанию в Rails не загружает файлы локали во вложенных словарях, как здесь. Итак, чтобы это сработало, мы должны явно указать Rails искать дальше:

  # config / application.rb
  config.i18n.load_path + = Dir [Rails.root.join ('config', 'locales', '**', '*. {rb, yml}')]

  
# config / application.rb config.i18n.load_path + = Dir [Rails.root.join ('config', 'locales', '**', '*. {rb, yml}')] Копировать

4 Обзор функций API I18n

Вы должны хорошо понимать, как пользоваться библиотекой i18n, и знать, как для интернационализации базового приложения Rails. В следующих главах мы рассмотрите его особенности более подробно.

В этих главах будут показаны примеры, использующие как метод I18n.translate , так и вспомогательный метод представления translate (с учетом дополнительной функции, обеспечиваемой вспомогательным методом представления).

Охвачены следующие функции:

  • поиск переводов
  • интерполяция данных в переводы
  • множественное число переводов
  • с использованием безопасного перевода HTML (только вспомогательный метод просмотра)
  • локализация дат, чисел, валюты и т. Д.
4.1 Поиск переводов
4.1.1 Базовый поиск, области и вложенные ключи

Переводы ищутся по ключам, которые могут быть как символами, так и строками, поэтому эти вызовы эквивалентны:

  I18n.t: сообщение
I18n.t 'сообщение'
  
I18n.t: сообщение I18n.t 'сообщение' Копировать

Метод translate также принимает параметр : scope , который может содержать один или несколько дополнительных ключей, которые будут использоваться для указания «пространства имен» или области для ключа перевода:

  I18n.t: record_invalid, scope: [: activerecord,: errors,: messages]
  
I18n.t: record_invalid, scope: [: activerecord,: errors,: messages] Копировать

Это ищет сообщение : record_invalid в сообщениях об ошибках Active Record.

Кроме того, и ключ, и области могут быть указаны как ключи, разделенные точками, как в:

  I18n.translate "activerecord.errors.messages.record_invalid"
  
I18n.translate "activerecord.errors.messages.record_invalid" Копировать

Таким образом, следующие вызовы эквивалентны:

  I18n.t 'activerecord.errors.messages.record_invalid'
I18n.t 'errors.messages.record_invalid', область действия:: activerecord
I18n.t: record_invalid, область действия: 'activerecord.errors.messages'
I18n.t: record_invalid, scope: [: activerecord,: errors,: messages]
  
I18n.t 'activerecord.errors.messages.record_invalid' I18n.t 'errors.messages.record_invalid', область действия:: activerecord I18n.t: record_invalid, область действия: 'activerecord.errors.messages' I18n.t: record_invalid, scope: [: activerecord,: errors,: messages] Копировать
4.1.2 Значения по умолчанию

Если задана опция : default , ее значение будет возвращено, если перевод отсутствует:

  I18n.t: отсутствует, по умолчанию: «Не здесь»
# => 'Не здесь'
  
I18n.t: отсутствует, по умолчанию: «Не здесь» # => 'Не здесь' Копировать

Если значение : default является символом, оно будет использоваться в качестве ключа и переведено. По умолчанию можно указать несколько значений. Будет возвращен первый результат, в результате которого будет получено значение.

Например, следующая команда сначала пытается преобразовать ключ : отсутствует , а затем ключ : также_missing. Поскольку оба результата не дают результата, будет возвращена строка «Не здесь»:

  I18n.t: отсутствует, по умолчанию: [: also_missing, 'Not here']
# => 'Не здесь'
  
I18n.t: отсутствует, по умолчанию: [: also_missing, 'Not here'] # => 'Не здесь' Копировать
4.1.3 Массовый поиск и поиск в пространстве имен

Для одновременного поиска нескольких переводов можно передать массив ключей:

  I18n.t [: нечетное,: четное], область действия: 'errors.messages'
# => ["должно быть нечетным", "должно быть четным"]
  
I18n.t [: odd,: even], scope: 'errors.messages' # => ["должно быть нечетным", "должно быть четным"] Копировать

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

  I18n.t 'activerecord.errors.messages'
# => {: include => "не входит в список",: exclusion => ...}
  
I18n.t 'activerecord.errors.messages' # => {: include => "не входит в список",: exclusion => ...} Копировать

Если вы хотите выполнить интерполяцию для массивного хэша переводов, вам необходимо передать deep_interpolation: true в качестве параметра.Когда у вас есть следующий словарь:

  ru:
  добро пожаловать:
    title: "Добро пожаловать!"
    content: "Добро пожаловать в% {app_name}"
  
ru: добро пожаловать: title: "Добро пожаловать!" content: "Добро пожаловать в% {app_name}" Копировать

, то вложенная интерполяция будет проигнорирована без настройки:

  I18n.t 'добро пожаловать', имя_приложения: 'книжный магазин'
# => {: title => "Добро пожаловать!",: content => "Добро пожаловать в% {app_name}"}

I18n.t 'добро пожаловать', deep_interpolation: true, app_name: 'book store'
# => {: title => "Добро пожаловать!",: content => "Добро пожаловать в книжный магазин"}
  
I18n.t 'добро пожаловать', app_name: 'книжный магазин' # => {: title => "Добро пожаловать!",: content => "Добро пожаловать в% {app_name}"} I18n.t 'добро пожаловать', deep_interpolation: true, app_name: 'book store' # => {: title => "Добро пожаловать!",: content => "Добро пожаловать в книжный магазин"} Копировать
4.1.4 "Ленивый" поиск

Rails реализует удобный способ поиска локали внутри представлений . Когда у вас есть следующий словарь:

  es:
  книги:
    индекс:
      название: "Título"
  
es: книги: индекс: название: "Título" Копировать

вы можете найти 90 463 книг.index.title значение внутри шаблон app / views / books / index.html.erb (обратите внимание на точку):

  <% = t '.title'%>
  
<% = t '.title'%> Копировать

Частичное определение области автоматического перевода доступно только из вспомогательного метода представления translate .

"Ленивый" поиск также может использоваться в контроллерах:

  ru:
  книги:
    Создайте:
      успех: Книга создана!
  
ru: книги: Создайте: успех: Книга создана! Копировать

Это полезно для установки флэш-сообщений, например:

  класс BooksController  
класс BooksController 4.2 Множественное число

Во многих языках, включая английский, есть только две формы, единственное и множественное число, для заданная строка, например «1 сообщение» и «2 сообщения». Другие языки (арабский, японский, русский и многие другие) имеют другую грамматику, в которой есть дополнительные или меньшее количество форм множественного числа.Таким образом, I18n API обеспечивает гибкую возможность множественного числа.

Интерполяционная переменная : count играет особую роль в том, что она одновременно интерполируется в перевод и используется для выбора множественного числа из переводов в соответствии с правилами множественного числа, определенными в бэкэнд плюрализации. По умолчанию применяются только правила множественного числа для английского языка.

  I18n.backend.store_translations: en, inbox: {
  ноль: 'нет сообщений', # необязательно
  one: 'одно сообщение',
  другое: '% {count} сообщений'
}
I18n.перевод: входящие, количество: 2
# => '2 сообщения'

I18n.translate: входящие, количество: 1
# => 'одно сообщение'

I18n.translate: входящие, количество: 0
# => 'сообщений нет'
  
I18n.backend.store_translations: en, inbox: { ноль: 'нет сообщений', # необязательно one: 'одно сообщение', другое: '% {count} сообщений' } I18n.translate: входящие, кол-во: 2 # => '2 сообщения' I18n.translate: входящие, количество: 1 # => 'одно сообщение' I18n.translate: входящие, количество: 0 # => 'сообщений нет' Копировать

Алгоритм множественного числа в : en очень прост:

  lookup_key =: ноль, если count == 0 && entry.has_key? (: ноль)
lookup_key || = count == 1? : one:: другое
запись [lookup_key]
  
lookup_key =: ноль, если count == 0 && entry.has_key? (: ноль) lookup_key || = count == 1? : one:: другое запись [lookup_key] Копировать

Перевод обозначен как : один рассматривается как единственное число, а : другой используется как множественное число. Если счетчик равен нулю и присутствует запись : ноль , то она будет использоваться вместо : другие .

Если поиск ключа не возвращает хэш, подходящий для множественного числа, возникает исключение I18n :: InvalidPluralizationData .

4.2.1 Правила, зависящие от локали

Гем I18n предоставляет бэкэнд плюрализации, который можно использовать для включения правил, зависящих от локали. Включите это в простой бэкэнд, затем добавьте локализованные алгоритмы множественного числа в хранилище переводов, как i18n.plural.rule .

  I18n :: Backend :: Simple.include (I18n :: Backend :: Pluralization)
I18n.backend.store_translations: pt, i18n: {множественное число: {rule: lambda {| n | [0, 1]. Включить? (N)? : one:: other}}}
I18n.backend.store_translations: pt, apples: {one: 'one or none', other: 'more than one'}

I18n.t: яблоки, количество: 0, язык:: pt
# => 'один или ни один'
  
I18n :: Backend :: Simple.include (I18n :: Backend :: Pluralization) I18n.backend.store_translations: pt, i18n: {множественное число: {rule: lambda {| n | [0, 1]. Включить? (N)? : one:: other}}} I18n.backend.store_translations: pt, apples: {one: 'one or none', other: 'more than one'} I18n.t: яблоки, количество: 0, язык:: pt # => 'один или ни один' Копировать

В качестве альтернативы можно использовать отдельный gem rails-i18n для предоставления более полного набора правил множественного числа для конкретных локалей.

4.3 Установка и передача языкового стандарта

Языковой стандарт может быть установлен псевдоглобально на I18n.locale (который использует Thread.current , например, Time.zone ) или может быть передан как опция на #translate и #localize .

Если языковой стандарт не передан, используется I18n.locale :

  I18n.locale =: de
I18n.t: foo
I18n.l Time.now
  
I18n.locale =: de I18n.t: foo I18n.l Time.now Копировать

Явная передача языкового стандарта:

  I18n.t: foo, язык:: de
I18n.l Time.now, язык:: de
  
I18n.t: foo, язык:: de I18n.l Time.now, язык:: de Копировать

Для I18n.locale по умолчанию используется I18n.default_locale , по умолчанию: en . Локаль по умолчанию может быть установлена ​​следующим образом:

  I18n.default_locale =: de
  
I18n.default_locale =: de Копировать
4.4 Использование безопасного перевода HTML

Ключи с суффиксом «_html» и ключи с именем «html» помечены как безопасные для HTML.Когда вы используете их в представлениях, HTML не экранируется.

  # config / locales / en.yml
ru:
  добро пожаловать:  добро пожаловать! 
  hello_html:  привет! 
  заглавие:
    html:  название! 
  
# config / locales / en.yml ru: добро пожаловать: добро пожаловать! hello_html: привет! заглавие: html: название! Копировать
  # app / views / home / index.html.erb
<% = t ('добро пожаловать')%>
<% = raw t ('добро пожаловать')%>
<% = t ('hello_html')%>
<% = t ('title.html ')%>
# app / views / home / index.html.erb
<% = t ('добро пожаловать')%>
<% = raw t ('добро пожаловать')%>
<% = t ('hello_html')%>
<% = t ('title.html')%>
Копировать

Однако интерполяция сбегает по мере необходимости. Например, дано:

  ru:
  welcome_html: " Добро пожаловать,% {username}! "
  
ru: welcome_html: " Добро пожаловать,% {username}! " Копировать

, вы можете безопасно передать имя пользователя, установленное пользователем:

  <% # Это безопасно, при необходимости будет экранировано.%>
<% = t ('welcome_html', имя пользователя: @ current_user.username)%>
  
<% # Это безопасно, при необходимости можно будет экранировать. %> <% = t ('welcome_html', имя пользователя: @ current_user.username)%> Копировать

Безопасные строки, с другой стороны, интерполируются дословно.

Автоматическое преобразование в HTML-безопасный текст перевода доступно только из вспомогательного метода представления translate .

4.5 Переводы для моделей Active Record

Вы можете использовать методы Model.model_name.human и Model.human_attribute_name (attribute) для прозрачного поиска переводов для вашей модели и имен атрибутов.

Например, когда вы добавляете следующие переводы:

  ru:
  activerecord:
    модели:
      пользователь: Клиент
    атрибуты:
      пользователь:
        логин: "Handle"
      # будет переводить атрибут пользователя "login" как "Handle"
  
ru: activerecord: модели: пользователь: Клиент атрибуты: пользователь: логин: "Handle" # будет переводить атрибут пользователя "login" как "Handle" Копировать

Затем Пользователь.model_name.human вернет «Customer», а User.human_attribute_name («login») вернет «Handle».

Вы также можете установить множественное число для названий моделей, добавив следующее:

  ru:
  activerecord:
    модели:
      пользователь:
        один: Клиент
        другое: Клиенты
  
ru: activerecord: модели: пользователь: один: Клиент другое: Клиенты Копировать

Затем User.model_name.human (count: 2) вернет «Клиенты».При количестве : 1 или без параметров вернет «Клиент».

В случае, если вам необходимо получить доступ к вложенным атрибутам в данной модели, вы должны вложить их в модель / атрибут на уровне модели вашего файла перевода:

  ru:
  activerecord:
    атрибуты:
      пользователь / роль:
        admin: "Админ"
        участник: "Соавтор"
  
ru: activerecord: атрибуты: пользователь / роль: admin: "Админ" участник: "Автор" Копировать

Затем Пользователь.human_attribute_name ("role.admin") вернет "Admin".

Если вы используете класс, который включает ActiveModel и не наследуется от ActiveRecord :: Base , замените activerecord на activemodel в указанных выше ключевых путях.

4.5.1 Области сообщений об ошибках

Сообщения об ошибках проверки Active Record также можно легко перевести. Active Record предоставляет вам несколько пространств имен, в которых вы можете размещать переводы сообщений, чтобы предоставлять различные сообщения и перевод для определенных моделей, атрибутов и / или проверок.Он также прозрачно учитывает наследование одной таблицы.

Это дает вам довольно мощные средства гибкой настройки ваших сообщений в соответствии с потребностями вашего приложения.

Рассмотрим модель User с проверкой атрибута name следующим образом:

  класс Пользователь  
класс User Ключ сообщения об ошибке в этом случае - : пусто .Active Record будет искать этот ключ в пространствах имен:

  activerecord.errors.models. [Имя_модели]. Атрибуты. [Имя_атрибута]
activerecord.errors.models. [имя_модели]
activerecord.errors.messages
error.attributes. [имя_атрибута]
error.messages
  
activerecord.errors.models. [имя_модели]. атрибуты. [имя_атрибута] activerecord.errors.models. [имя_модели] activerecord.errors.messages error.attributes. [имя_атрибута] error.messages Копировать

Таким образом, в нашем примере он попробует следующие ключи в этом порядке и вернет первый результат:

  активная запись.errors.models.user.attributes.name.blank
activerecord.errors.models.user.blank
activerecord.errors.messages.blank
errors.attributes.name.blank
errors.messages.blank
  
activerecord.errors.models.user.attributes.name.blank activerecord.errors.models.user.blank activerecord.errors.messages.blank errors.attributes.name.blank errors.messages.blank Копировать

Когда ваши модели дополнительно используют наследование, сообщения ищутся в цепочке наследования.

Например, у вас может быть модель администратора, унаследованная от пользователя:

  класс Администратор <Пользователь
  проверяет: имя, присутствие: истина
конец
  
class Admin <Пользователь проверяет: имя, присутствие: истина конец Копировать

Затем Active Record будет искать сообщения в следующем порядке:

  активная запись.errors.models.admin.attributes.name.blank
activerecord.errors.models.admin.blank
activerecord.errors.models.user.attributes.name.blank
activerecord.errors.models.user.blank
activerecord.errors.messages.blank
errors.attributes.name.blank
errors.messages.blank
  
activerecord.errors.models.admin.attributes.name.blank activerecord.errors.models.admin.blank activerecord.errors.models.user.attributes.name.blank activerecord.errors.models.user.blank activerecord.errors.messages.blank ошибки.attributes.name.blank errors.messages.blank Копировать

Таким образом, вы можете предоставить специальные переводы для различных сообщений об ошибках в различных точках цепочки наследования вашей модели, а также в атрибутах, моделях или областях по умолчанию.

4.5.2 Интерполяция сообщений об ошибках

Переведенное имя модели, переведенное имя атрибута и значение всегда доступны для интерполяции как модель , атрибут и значение соответственно.

Так, например, вместо сообщения об ошибке по умолчанию «не может быть пустым» вы можете использовать имя атрибута следующим образом: «Пожалуйста, введите свой% {attribute}» .

  • count , если доступно, может использоваться для множественного числа, если присутствует:
проверка с опцией сообщение интерполяция
подтверждение: подтверждение атрибут
приемка: принято
наличие: пусто
отсутствие: есть
длина: внутри,: в: too_short количество
длина: внутри,: в: слишком_длинный количество
длина: это: неправильная_длина количество
длина: минимум: too_short количество
длина: максимум: слишком_длинный количество
уникальность: принято
формат: недопустимый
включение: включение
исключение: исключение
связанный: недопустимый
необязательная ассоциация: требуется
номер: not_a_number
номер: больше_ чем: больше_ чем количество
номер: superior_than_or_equal_to: superior_than_or_equal_to количество
номер: равный_то: равный_то количество
номер: меньше_тхан: меньше_тхан количество
номер: less_than_or_equal_to: less_than_or_equal_to количество
номер: другое_тхан: другое_тхан количество
номер: only_integer: not_an_integer
номер: нечетное: нечетное
номер: даже: даже
4.6 Переводы тем электронной почты Action Mailer

Если вы не передадите тему методу mail , Action Mailer попытается найти это в ваших переводах. Выполняемый поиск будет использовать шаблон . .subject для создания ключа.

  # user_mailer.rb
класс UserMailer  
# user_mailer.rb класс UserMailer ru: user_mailer: добро пожаловать: тема: "Добро пожаловать в Rails Guides!" ru: user_mailer: добро пожаловать: тема: "Добро пожаловать в Rails Guides!" Копировать

Для отправки параметров для интерполяции используйте метод default_i18n_subject в почтовой программе.

  # user_mailer.rb
класс UserMailer  
# user_mailer.rb класс UserMailer ru: user_mailer: добро пожаловать: subject: "% {user}, добро пожаловать в Rails Guides!" ru: user_mailer: добро пожаловать: subject: "% {user}, добро пожаловать в Rails Guides!" Копировать
4.7 Обзор других встроенных методов, обеспечивающих поддержку I18n

Rails использует фиксированные строки и другие локализации, такие как строки формата и другую информацию о формате в нескольких помощниках.Вот краткий обзор.

4.7.1 Вспомогательные методы просмотра действий
  • distance_of_time_in_words переводит результат и вычисляет множественное число, а также интерполирует количество секунд, минут, часов и так далее. Смотрите переводы datetime.distance_in_words.

  • datetime_select и select_month используют переведенные названия месяцев для заполнения результирующего тега select. Смотрите переводы date.month_names. datetime_select также ищет вариант заказа по дате.порядок (если вы не передадите эту опцию явно). Все помощники по выбору даты переводят приглашение, используя переводы в области datetime.prompts, если применимо.

  • number_to_currency , number_with_precision , number_to_percentage , number_with_delimiter и number_to_human_size Помощники используют настройки формата чисел, расположенные в области числа.

4.7.2 Методы активной модели
  • название_модели.human и human_attribute_name используют переводы для имен моделей и имен атрибутов, если они доступны в области activerecord.models. Они также поддерживают переводы имен унаследованных классов (например, для использования с STI), как описано выше в разделе «Области сообщений об ошибках».

  • ActiveModel :: Errors # generate_message (который используется при проверках активной модели, но также может использоваться вручную) использует имя_модели.human и имя_атрибута человека (см. Выше).Он также переводит сообщение об ошибке и поддерживает переводы для имен унаследованных классов, как описано выше в разделе «Области сообщений об ошибках».

  • ActiveModel :: Errors # full_messages добавляет имя атрибута к сообщению об ошибке, используя разделитель, который будет искать из errors.format (и по умолчанию "% {attribute}% {message}" ).

4.7.3 Методы активной поддержки
  • Array # to_sentence использует параметры формата, указанные в поддержке.область видимости массива.

5 Как сохранить ваши собственные переводы

Базовая программа Simple, поставляемая с Active Support, позволяет сохранять переводы как в обычном формате Ruby, так и в формате YAML.

Например, Ruby Hash, предоставляющий переводы, может выглядеть так:

  {
  pt: {
    foo: {
      бар: "баз"
    }
  }
}
  
{ pt: { foo: { бар: "баз" } } } Копировать

Эквивалентный файл YAML будет выглядеть так:

  пт:
  foo:
    бар: baz
  
pt: foo: бар: baz Копировать

Как видите, в обоих случаях ключ верхнего уровня - это локаль.: foo - это ключ пространства имен, а : bar - это ключ для перевода «baz».

Вот "реальный" пример из YAML файла Active Support en.yml переводов:

  ru:
  свидание:
    форматы:
      по умолчанию: "% Y-% m-% d"
      коротко: "% b% d"
      long: "% B% d,% Y"
  
ru: свидание: форматы: по умолчанию: "% Y-% m-% d" коротко: "% b% d" long: "% B% d,% Y" Копировать

Итак, все следующие эквивалентные поиски вернут : короткий формат даты "% b% d" :

  I18n.t 'date.formats.short'
I18n.t 'format.short', объем:: дата
I18n.t: короткий, объем: 'date.formats'
I18n.t: короткий, объем: [: дата,: форматы]
  
I18n.t 'date.formats.short' I18n.t 'format.short', объем:: дата I18n.t: короткий, объем: 'date.formats' I18n.t: короткий, объем: [: дата,: форматы] Копировать

Обычно мы рекомендуем использовать YAML в качестве формата для хранения переводов. Однако есть случаи, когда вы хотите сохранить лямбда-выражения Ruby как часть данных локали, например для специальных форматов даты.

6 Индивидуальная настройка I18n

6.1 Использование различных бэкэндов

По нескольким причинам бэкэнд Simple, поставляемый с Active Support, выполняет только «самую простую вещь, которая могла бы работать» для Ruby on Rails ... что означает, что он гарантированно будет работать только для английского языка и, как побочный эффект, языки, очень похожие на английский. Кроме того, простой бэкэнд способен только читать переводы, но не может динамически сохранять их в любом формате.

Однако это не означает, что вы придерживаетесь этих ограничений.Гем Ruby I18n позволяет очень легко заменить простую внутреннюю реализацию на что-то еще, что лучше подходит для ваших нужд, путем передачи экземпляра серверной части сеттеру I18n.backend = .

Например, вы можете заменить простой бэкэнд на бэкэнд Chain, чтобы объединить несколько бэкэндов в цепочку. Это полезно, если вы хотите использовать стандартные переводы с простой серверной частью, но хранить пользовательские переводы приложений в базе данных или других серверных модулях.

С бэкэндом Chain вы можете использовать бэкэнд Active Record и вернуться к простому бэкэнду (по умолчанию):

  I18n.backend = I18n :: Backend :: Chain.new (I18n :: Backend :: ActiveRecord.new, I18n.backend)
  
I18n.backend = I18n :: Backend :: Chain.new (I18n :: Backend :: ActiveRecord.new, I18n.backend) Копировать
6.2 Использование различных обработчиков исключений

API I18n определяет следующие исключения, которые будут генерироваться серверными модулями при возникновении соответствующих непредвиденных условий:

  MissingTranslationData # для запрошенного ключа не найден перевод
InvalidLocale # установлен языковой стандарт I18n.неверный языковой стандарт (например, ноль)
InvalidPluralizationData # параметр подсчета был передан, но данные перевода не подходят для множественного числа
MissingInterpolationArgument # перевод ожидает аргумент интерполяции, который не был передан
ReservedInterpolationKey # перевод содержит зарезервированное имя переменной интерполяции (т.е. одно из: scope, по умолчанию)
UnknownFileType # бэкэнд не знает, как обрабатывать тип файла, который был добавлен в I18n.load_path
  
MissingTranslationData # для запрошенного ключа перевод не найден InvalidLocale # установлен языковой стандарт I18n.неверный языковой стандарт (например, ноль) InvalidPluralizationData # параметр подсчета был передан, но данные перевода не подходят для множественного числа MissingInterpolationArgument # перевод ожидает аргумент интерполяции, который не был передан ReservedInterpolationKey # перевод содержит зарезервированное имя переменной интерполяции (т.е. одно из: scope, по умолчанию) UnknownFileType # бэкэнд не знает, как обрабатывать тип файла, который был добавлен в I18n.load_path Копировать

API I18n перехватит все эти исключения, когда они выбрасываются в бэкэнд, и передаст их методу default_exception_handler.Этот метод повторно вызовет все исключения, кроме исключений MissingTranslationData . Когда исключение MissingTranslationData было перехвачено, оно вернет строку сообщения об ошибке исключения, содержащую отсутствующий ключ / область.

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

Однако в других контекстах вы можете изменить это поведение. Например. обработка исключений по умолчанию не позволяет легко обнаруживать пропущенные переводы во время автоматизированных тестов.Для этого можно указать другой обработчик исключений. Указанный обработчик исключений должен быть методом в модуле I18n или классом с #call method:

  модуль I18n
  класс JustRaiseExceptionHandler  
модуль I18n класс JustRaiseExceptionHandler Это повторно вызовет только исключение MissingTranslationData , передав все остальные входные данные обработчику исключений по умолчанию.

Однако, если вы используете I18n :: Backend :: Pluralization , этот обработчик также вызовет I18n :: MissingTranslationData: translation missing: en.i18n.plural.rule исключение, которое обычно следует игнорировать, чтобы вернуться к правилу множественного числа по умолчанию для английского языка. Чтобы избежать этого, вы можете использовать дополнительную проверку ключа перевода:

  if exception.is_a? (MissingTranslation) && key.to_s! = 'I18n.plural.rule'
  поднять исключение. to_exception
еще
  супер
конец
  
if exception.is_a? (MissingTranslation) && key.to_s! = 'i18n.plural.rule' поднять исключение. to_exception еще супер конец Копировать

Другим примером, в котором поведение по умолчанию менее желательно, является Rails TranslationHelper, который предоставляет метод #t (а также #translate ).Когда в этом контексте возникает исключение MissingTranslationData , помощник переносит сообщение в диапазон с классом CSS translation_missing .

Для этого помощник заставляет I18n # translate вызывать исключения независимо от того, какой обработчик исключений определен путем установки параметра : raise :

  I18n.t: foo, raise: true # всегда повторно вызывает исключения из бэкэнда
  
I18n.t: foo, raise: true # всегда повторно вызывает исключения из бэкэнда Копировать

7 Перевод содержимого модели

API I18n, описанный в этом руководстве, в первую очередь предназначен для перевода строк интерфейса.Если вы хотите перевести контент модели (например, сообщения в блоге), вам понадобится другое решение, чтобы помочь с этим.

В этом могут помочь несколько драгоценных камней:

  • Глобализация: сохраняйте переводы в отдельных таблицах перевода, по одному для каждой переведенной модели
  • .
  • Мобильность: обеспечивает поддержку хранения переводов во многих форматах, включая таблицы перевода, столбцы json (PostgreSQL) и т. Д.
  • Traco: переводимые столбцы, хранящиеся в самой таблице модели

8 Заключение

На этом этапе у вас должен быть хороший обзор того, как работает поддержка I18n в Ruby on Rails, и вы готовы начать перевод вашего проекта.

9 Участие в Rails I18n

Поддержка I18n в Ruby on Rails была представлена ​​в выпуске 2.2 и все еще развивается. Этот проект следует хорошей традиции разработки Ruby on Rails, заключающейся в том, что сначала решения развиваются в гемах и реальных приложениях, а уже потом отбираются лучшие из наиболее широко полезных функций для включения в ядро.

Таким образом, мы призываем всех экспериментировать с новыми идеями и функциями в гемах или других библиотеках и делать их доступными для сообщества.(Не забудьте объявить о своей работе в нашем списке рассылки!)

Если вы обнаружите, что ваш собственный языковой стандарт (язык) отсутствует в нашем репозитории данных переводов для Ruby on Rails, пожалуйста, форк репозитория, добавьте свои данные и отправить запрос на перенос.

10 ресурсов

11 Авторов

Обратная связь

Предлагаем вам помочь улучшить качество этого руководства.

Пожалуйста, внесите свой вклад, если вы заметите какие-либо опечатки или фактические ошибки.Для начала вы можете прочитать наш раздел документации.

Вы также можете найти неполный контент или устаревшие вещи. Пожалуйста, добавьте недостающую документацию для мастера. Обязательно проверьте Edge Guides сначала проверят если проблемы уже исправлены или нет в основной ветке. Ознакомьтесь с Руководством по Ruby on Rails. для стиля и условностей.

Если по какой-либо причине вы заметили, что нужно исправить, но не можете исправить это самостоятельно, пожалуйста, открыть вопрос.

И последнее, но не менее важное: любые обсуждения Ruby on Rails. документация приветствуется в списке рассылки rubyonrails-docs.

.

Вам может понравится

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *