<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Ревяко Александр on Medium]]></title>
        <description><![CDATA[Stories by Ревяко Александр on Medium]]></description>
        <link>https://medium.com/@odno_nazvanie?source=rss-134dd145627a------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*-RAAYxqKVWBGq-4i.jpg</url>
            <title>Stories by Ревяко Александр on Medium</title>
            <link>https://medium.com/@odno_nazvanie?source=rss-134dd145627a------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 15:23:43 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@odno_nazvanie/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Как упростить перевод макетов в Sketch на несколько языков и уйти с работы пораньше]]></title>
            <link>https://medium.com/design-pub/%D0%BA%D0%B0%D0%BA-%D1%83%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%B8%D1%82%D1%8C-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4-%D0%BC%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2-%D0%B2-sketch-%D0%BD%D0%B0-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2-%D0%B8-%D1%83%D0%B9%D1%82%D0%B8-%D1%81-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D0%BF%D0%BE%D1%80%D0%B0%D0%BD%D1%8C%D1%88%D0%B5-32af43566196?source=rss-134dd145627a------2</link>
            <guid isPermaLink="false">https://medium.com/p/32af43566196</guid>
            <category><![CDATA[ux]]></category>
            <category><![CDATA[sketch]]></category>
            <category><![CDATA[interfaces]]></category>
            <category><![CDATA[ui]]></category>
            <category><![CDATA[translation]]></category>
            <dc:creator><![CDATA[Ревяко Александр]]></dc:creator>
            <pubDate>Fri, 29 Mar 2019 13:33:10 GMT</pubDate>
            <atom:updated>2019-04-04T18:56:59.905Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/proxy/1*TEmk7UxBoZtrg85nkrTPdg.png" /></figure><p><strong><em>Разбираемся, как перевести тучу текстовых объектов на статических макетах без помощи разработчиков, динамического фронта и Google Translate.</em></strong></p><p>При разработке сайта, приложения или интерфейса, дизайнер обычно использует в макетах один язык, а работу по локализации интерфейса берет на себя разработчик. Процесс выглядит так:</p><figure><img alt="" src="https://cdn-images-1.medium.com/proxy/1*Snhe3cVmVP5Rq4AATMKqVQ.png" /></figure><p>Но бывают случаи, когда перевод нужно сделать непосредственно в дизайн-макетах, например, чтобы посмотреть, как встанут текстовые блоки разного размера, или когда у интерфейса нет динамического фронта. С последним мы столкнулись при <a href="https://right.by/projects/belveb-atm-interface/">разработке интерфейсов банкоматов БелВЭБ</a>.</p><p>Банкоматы — сложные устройства с очень долгим сроком эксплуатации. Некоторые служат по 20 лет и не подлежат модернизации, а их ПО отстает от привычных нам стандартов. Для таких устройств каждое состояние интерфейса — отдельная картинка gif. Если на экране 2 кнопки и для каждой нужно нарисовать 2 состояния — дизайнер готовит 4 макета:)</p><p>Локализация интерфейса тоже грозит лютым геморроем, потому что каждый дополнительный язык на устройстве требует свою отдельную пачку макетов.</p><p>Итак, имеем 177 макетов, которые нужно перевести на пять языков, и учесть добавление еще двух в перспективе. Перевод должен сделать квалифицированный переводчик, робот нам не подходит.</p><p>Если подходить к задаче в лоб и просто копировать текст, прогонять его через переводчик и вставлять его обратно, — это займет около недели непрерывной работы, не считая затрат на проверки и исправление ошибок.</p><p>Если еще добавить в проект взаимодействие с командой переводчиков, задача превращается в сущий кошмар: что куда вписывать, как соблюсти единую терминологию, названия повторяющихся действий и т.д. Перед нами встал вопрос автоматизации процесса перевода статичного интерфейса.</p><figure><img alt="" src="https://cdn-images-1.medium.com/proxy/1*laIPM1qotCVYL_X-Tg6hUg.png" /></figure><p>Чтобы сохранить здоровье, внутреннюю гармонию, да еще и освободиться пораньше, нам понадобятся:</p><p>1. <a href="https://www.animaapp.com/">Anima</a> — бесплатный sketch-плагин для управления расстояниями текстовых блоков внутри макетов.<br>2. <a href="https://github.com/laresgoiti/texts_translate">Texts Translations</a> — бесплатный sketch-плагин для перевода экранов на различные языки.</p><p>Одна и та же фраза на разных языках может иметь разный размер, текст станет съезжать, выходить за границы элементов и создавать другие неприятности при переводе. Чтобы избежать проблем, используем sketch-плагин <a href="https://www.animaapp.com/">Anima</a>.</p><p>Открываем проект в Sketch, и с помощью плагина фиксируем положение нужного нам текстового блока относительно артборда или соседнего элемента. Это поможет сохранить внутренние отступы при локализации макета, когда текстовый блок начнет скакать по высоте и ширине.</p><figure><img alt="" src="https://cdn-images-1.medium.com/proxy/1*6ruk_GAdMGhfOQ7gdSsmrw.png" /><figcaption>Устанавливаем фиксированный отступ между блоками, в нашем случае — 25px</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/proxy/1*yXSAT_iTx09GYNxzjIWqCQ.png" /><figcaption>Закрепляем блок относительно центра артборда</figcaption></figure><p>После того, как текст зафиксирован, переходим к следующему шагу — локализации артбордов.</p><p>Устанавливаем sketch-плагин <a href="https://github.com/laresgoiti/texts_translate">Texts Translations</a>. Он поможет нам выгрузить весь текст из нашего проекта в отдельный текстовый документ, и поменять локализацию.</p><p>В Sketch выбираем «Plugins» ➞ «Texts Translations» ➞ «Save locale» и вводим название выгружаемого языка, например, «russian». Рядом со sketch-документом должна появится папка с названием «translations» в которой находится первая локализация, в нашем случае «russian».</p><figure><img alt="" src="https://cdn-images-1.medium.com/proxy/1*-AUgUy0Aztq5ORX4WlCHlQ.png" /></figure><p>Для того, чтобы добавить новый перевод, создаем копию этого файла в папке «translations», и переименовываем его, например, в «english».</p><p>Открываем файл «english» любым текстовым редактором и заменяем русский текст на английский. Важный момент заключается в том, что файл имеет расширение <a href="https://ru.wikipedia.org/wiki/JSON">.json</a>, а это значит, что каждая строка нашего текста взята в кавычки, а к ней присвоен json-ключ. Все эти спец. символы менять или удалять нельзя, иначе плагин не сможет корректно заменить текст.</p><figure><img alt="" src="https://cdn-images-1.medium.com/proxy/1*S6HxhvGvXCA5o_9s0Tnm2A.png" /></figure><p>После того, как английский текст занял свое место, сохраняем и закрываем файл. Снова открываем проект в Sketch, нажимаем «Plugins» ➞ «Texts Translations» ➞ «Change locale», выбираем «english» и нажимаем «Change». Если текст в документе был заменен корректно, без редактирования и потери спец. символов, язык макета тут же изменится.</p><figure><img alt="" src="https://cdn-images-1.medium.com/proxy/1*VESY40je8yNq57hrXAOS4w.png" /></figure><p>Качество перевода было важным, поэтому мы обратились в агентство. Для удобства замены текста в json-файлах, создали таблицу в <a href="https://www.google.com/sheets/about/">Google Sheets</a>. В ней по столбцам разнесены спец. символы json и текстовые формулировки, которые с помощью формул автоматически собираются текстовые файлы с локализациями.</p><figure><img alt="" src="https://cdn-images-1.medium.com/proxy/1*Fo0inCPdFnam_UJzXa38QQ.png" /></figure><p>С помощью всего двух плагинов мы быстро и качественно перевели 177 экранов на 5 различных языков, создав таким образом еще 645 макетов. Красота.</p><figure><img alt="" src="https://cdn-images-1.medium.com/proxy/1*sT4UdUqoiyZtVkCydnRETg.png" /></figure><p>Если качество перевода не имеет значения, например, когда необходимо очень быстро перевести макет — лучше воспользоваться sketch-плагином <a href="https://github.com/symdesign/sketch-auto-translate">AutoTranslatePro</a>. Он автоматически переводит с помощью <a href="https://translate.google.com/">Google Translate</a>, и заменяет текст в макете. Это удобно для проверки поведения элементов интерфейсов с разной длинной слов. Посмотрите, например, <a href="https://habr.com/ru/company/alconost/blog/197146/">табличку от Alconost</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/proxy/1*FyEPBBmN0rAOZTB_qi7K0g.png" /></figure><p>Знаешь, что еще можно автоматизировать, чтобы вообще не приходить на работу ? <a href="https://www.facebook.com/right365">Напиши нам</a>, поделись опытом!</p><p><a href="https://right.by/smth/translate-in-sketch-article/"><em>Оригинал статьи</em></a><em> опубликован в Райте 29 марта, 2019.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=32af43566196" width="1" height="1" alt=""><hr><p><a href="https://medium.com/design-pub/%D0%BA%D0%B0%D0%BA-%D1%83%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%B8%D1%82%D1%8C-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4-%D0%BC%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2-%D0%B2-sketch-%D0%BD%D0%B0-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2-%D0%B8-%D1%83%D0%B9%D1%82%D0%B8-%D1%81-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D0%BF%D0%BE%D1%80%D0%B0%D0%BD%D1%8C%D1%88%D0%B5-32af43566196">Как упростить перевод макетов в Sketch на несколько языков и уйти с работы пораньше</a> was originally published in <a href="https://medium.com/design-pub">Дизайн-кабак</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>