Все потоки
Поиск
Написать публикацию
Обновить
6.75

Локализация продуктов *

Адаптация и перевод

Сначала показывать
Порог рейтинга
Уровень сложности

Интернационализация от i до n: как мы переводим интерфейсы в Фантехе Яндекса

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров5K

Привет! Меня зовут Александр Поляков, я руководитель команды i18n-разработки в Фантехе Яндекса. Мы помогаем сервисам компании выходить на международные рынки, а именно решаем задачи, связанные с интернационализацией и локализацией интерфейсов.

В этом посте расскажу:

какие именно решения для интернационализации фронтенда мы разрабатываем;

какие есть правила форматирования данных для разных локалей и как определять эти локали;

о проблемах переводов в современных реалиях.

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

Читать далее

Как мы в SM Lab локализацией занимаемся

Время на прочтение9 мин
Количество просмотров1.1K

Всем привет! Мы (Никита Звонилкин и Дмитрий Ёжиков) работаем в отделе локализации в SM Lab. Мы провели презентацию по теме интеграции локализации в процесс тестирования ПО на конференции SQA Days. Для этой статьи мы адаптировали эту презентацию, чтобы показать, чем локализация отличается от перевода. А ещё расскажем про основные этапы локализации, поговорим о подборе команды для проведения тестирования и о полезном софте.

Немного цифр. Спортмастер — большая компания, торговые сети представлены в 6 разных странах, а в 11 есть дополнительные офисы, в которых работают более 45 000 сотрудников. SM Lab — отдельно IT-подразделение, которое занимается разработкой софта и, собственно, его локализацией для стран нашего присутствия.

Тонкости локализации

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

Например, белый цвет, который в принципе везде считается нейтральным, в Японии могут расценить как траурный, так что не всегда будет уместно его использовать. В разных странах по-разному могут воспринимать ещё и жесты с символами, которые вам кажутся привычными и стандартными. Скажем, значок мира, который у нас так и воспринимается, в Великобритании лучше не показывать, он считается оскорбительным жестом. Большой палец вверх тоже у нас считается вполне себе адекватным, а вот жестовое обозначение “ОК” в той же Бразилии расценивается совсем иначе.

Если кто-то смотрел фильм Квентина Тарантино «Бесславные ублюдки», то вы явно помните сцену, в которой офицер под прикрытием (персонаж Майкла Фассбендера) заказывает жестом три пива, чем и выдает себя. 

Читать далее

Перевод «говорящих» имён в кино и художественной литературе

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров10K

Перевод имён в реальной жизни – дело простое: либо используем переводческую транскрипцию, либо транслитерацию. Но когда дело доходит до имён героев художественных произведений (книги, кино), то начинаются трудности. Дело в том, что здесь имена очень часто «говорящие» и транскрипцией с транслитерацией при их переводе не отделаться – приходится переводить.

Я одно время очень увлекалась сравнением переводов говорящих имён в кино и литературе, о чём писала в постах в своём аккаунте @gorelka.tarelka в Instagarm. Я решила собрать весь материал, что накопила и изучила по этой теме за несколько лет, и опубликовать его здесь.

Читать далее

Цифровизация перевода и локализация программного обеспечения: быть дирижёром процессов

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.9K

Всем привет! Меня зовут Владислав Москалёнок, и я работаю техническим переводчиком и редактором в сфере телекома и IT уже более 20 лет. Сегодня хочу поделиться опытом команды Bercut в цифровизации переводческих процессов. Из статьи вы узнаете, как мы реализовали комплексное решение, где сочетается технология накапливаемой памяти (TM) и нейронного машинного перевода (NMT). Если вы технический переводчик или вам просто интересна тема  локализации ПО —

добро пожаловать под кат!

Выходим на глобальный рынок: адаптация интерфейса под RTL

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.3K

Представьте: тексты во всех ваших любимых приложениях — мессенджерах, доставках еды, фоторедакторах — написаны в обратном порядке. То есть, справа налево.

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

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

Читать далее

Как выйти на Product Hunt и стать продуктом дня

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.8K

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

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

Честно говоря, до начала подготовки мы знали о Product Hunt только то, что он существует. Но погружение в тему, дюжина статей и несколько звонков с опытными мейкерами дали понять, что в публикации на PH нет ничего сверхъестественного и при должной подготовке можно привлечь к себе внимание. Конечно, ни о каком Product of the Day мы и не мечтали. 

Читать далее

Как автоматизировать переводы во Frontend приложении

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров8.4K

В текущем мире очень многие сайты имеют поддержку многих языков, в большинстве случаев это происходит с помощью i18n npm пакета. Чаще всего переводы хранятся в .js, .json файлах и очень часто есть языки для которых в компании нет переводчика, либо же он не предполагался в целом, и в таком случае приходит на помощь разработчик с переводчиком. И вот однажды я столкнулся с тем, что на проекте оказалось очень много текстов и все их нужно было переводить вручную, что занимало достаточно много времени и я задумался о том, как это можно автоматизировать.

Моя идея была в том, чтобы написать функцию, в которую можно было бы передать языковой код и json объект с текстом на исходном языке, а на выходе получить переведенный json/js file. С помощью этой функции я мог бы в ci/cd Pipeline переводить все текста на проекте, в исходных текстах которых были изменения, либо же следить за текстами в рантайме и на лету переводить текста.

И я нашел два относительно простых и бесплатных метода, для того чтобы это сделать.

Читать далее

Begin /* Локализация

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1.7K

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

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

А как же в конце концов национальные языки внутри страны? Хорошо, может быть, для внутренней документации, исходной кодировки и форматов дат и чисел достаточно русского языка, но пользовательский интерфейс совершенно не обязан быть только на государственном. Может региональный сайт разговаривать с пользователем на местном языке? Запросто.

Читать далее

Локализация игр при помощи ChatGPT — недорого и качественно. Гайд

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров14K

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

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

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

Читать далее

Детокс для i18n

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров7.4K

NPM библиотека для интернационализации и локализации i18n очень популярна, однако за последние годы она сильно располнела. В ней много возможностей для локализации дат, чисел, установки нужных склонений, поддержки RTL языков, загрузки локалей с сервера и кучи еще чего. На сайте i18next она называется уже даже "интернационализационным фреймворком".

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

Читать далее

Безопасная локализация строк в iOS: Localinter

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров3.1K

Привет! Меня зовут Сергей Балалаев, я руковожу отделом разработки мобильного приложения для ПВЗ в Ozon. Это то самое приложение, которым сотрудники пунктов выдачи сканируют штрихкод, чтобы выдать товар получателю. Оно внутреннее, для сотрудников. iOS-версией постоянно пользуются 12 тыс. человек, поэтому при постановке задачи нас не просили делать мультиязычную версию. Но мы с самого начала разработки решили поддерживать несколько языков — когда возникнет необходимость локализации, справимся в спокойном режиме и без проблем, свойственных проектам, в которых локализацию не закладывали.

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

Читать далее

Переводим статический веб-сайт на языки мира при помощи Weblate

Уровень сложностиСложный
Время на прочтение14 мин
Количество просмотров11K

В данной статье мы расскажем как перевести статический веб-сайт с Markdown (Zola, Hugo, Jekyll, Pelican, Gatsby, и д.р.) на все языки мира и поддерживать переводы в актуальном состоянии при изменении исходных текстов.

Читать далее

Чем переводчик-локализатор приложений отличается от обычного переводчика

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.6K

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

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

Читать далее

Ближайшие события

Философские вопросы интернационализации веб-приложений

Время на прочтение3 мин
Количество просмотров913

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

Языки

Если вы поддерживаете два или три языка, это не имеет большого значения. Но если вы хотите поддерживать дюжину вариантов, вы должны как-то решить, какие из них. Для начала неплохо погуглить самые популярные языки, но этот вариант совсем не точен. Лучше посмотрите статистику или аналитические отчеты, которые дадут вам представление о том, на каких языках говорят ваши пользователи. В Росплате я такие данные не собираю, поэтому нужна была другая точка отсчета. Мне пришлось проявить инициативу и просто спросить потенциальных пользователей: «Привет, ребята, какие языки вы ожидаете увидеть на странице настроек?». Честно говоря, ответ был неожиданным. Арабский, иврит, хинди и бенгалбский!

Обнаружение

Когда новый пользователь попадает в приложение, он может не говорить по-английски, который является языком по умолчанию. Значит, должен быть какой-то способ угадать. И есть один: используйте заголовок Accept-Language на стороне сервера. Этот заголовок не только говорит вам, какую локаль использовать, но и дает вам подсказку, например, этот пользователь говорит на языке А и языках Б (я уверен на 90%) и С (я уверен на 50%). С этой информацией вы можете быть намного увереннее: если вы не поддерживаете основной язык пользователя, вы, вероятно, можете использовать дополнительные.

Читать далее

Многоязычность на Kotlin-бэкэнде

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.5K

Язык программирования Kotlin часто ассоциируется с мобильной разработкой для Android и это неудивительно, учитывая что он принят Google как официальный язык разработки, и принес множество необходимых и удобных языковых конструкций и кооперативной многозадачности, при этом сохраняя совместимость на уровне байт-кода с ранними версиями JVM. Но применимость языка существенно выше и имеющиеся библиотеки (как созданные для Java, так и разработанные специально для Kotlin) позволяют создавать обычные приложения (например, на JavaFX или с использованием платформенных графических библиотек и Kotlin Native), а также создавать код для бэкэнда c подключениям к базам данных, кэшам, очередям сообщений и т.д. При этом, если для мобильной разработки проблем с поддержкой многоязычных сообщений не возникает (благодаря механизму ресурсов, в том числе строк, которые могут быть переопределены для конкретной локали), то для бэкэнда это становится нетривиальной задачей. В этой статье мы обсудим несколько подходов для создания бэкэнда с поддержкой нескольких языков.

Читать далее

Нейминг – почему это важно и наш негативный опыт выбора названия

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.9K

Что самое сложное в процессе разработки? Написание кода или построение архитектуры? Проработка идеи или написание требований?

Мы в Moroz Team обсудили это однажды за обедом. Что встречается на каждом из перечисленных шагов? Может, даже в повседневной жизни это вызывает трудности?

Давайте называть вещи своими именами. Ах, да, именно это и есть то самое сложное – называть своими именами или на английский манер «нейминг».

Читать далее

Развертывание бразильского кластера Flowwow

Время на прочтение8 мин
Количество просмотров2.3K

Меня зовут Кирилл Суханов, я product manager в Flowwow. В этой статье расскажу, как мы разворачивали наш продукт на совершенно новой территории, как по ходу корректировали алгоритм и как будем действовать уже с третьим нашим кластером, когда будем готовы им заняться. 

Читать далее

Локализация торговых приложений: трудности и как их преодолеть

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.4K

Два года назад я проводила вебинар на конференции Translation Forum Russia, где рассказывала о трудностях локализации торговых приложений и как и их преодолеть. Тема мне близка, так как я уже семь лет работаю менеджером по локализации в финтехе. Ниже представлен мой материал с конференции, дополненный и немного переработанный.

Читать далее

Как локализовать все ваши iOS приложения на 20 языков за 5 минут

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.6K

Я создал консольный инструмент, который автоматически находит все файлы .strings в проекте xcode и переводит их на все языки.

Читать далее

Как мы приложение Додо Пиццы на арабский переводили

Время на прочтение13 мин
Количество просмотров11K

Что вы знаете о том, как добавить поддержку языков, которые пишутся справа налево (Right to Left, RTL), в iOS‑приложение? Нужно использовать leading и trailing вместо left и right, а ещё… Вот и мы больше ничего не знали, но пришлось разобраться.

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

Читать далее

Вклад авторов