Представьте себе офис крупной международной компании. Все вокруг слаженно и эффективно работают, создавая новые проекты и развивая уже существующие. В центре внимания — Сара, наш протагонист. Она — преданный своему делу профессионал и глава отдела. Её команде поручают разработку веб-приложения, которое рассчитано на широкую клиентскую базу. Чтобы приложение нашло отклик у большого количества пользователей, Саре необходимо охватить различные языки, а также учесть культурные и региональные особенности.
В этой статье мы вместе с Сарой отправимся в путешествие, чтобы поближе познакомиться со всеми аспектами локализации, начиная с планирования и заканчивая реализацией. По пути мы рассмотрим проблемы, с которыми столкнется Сара, и решения, которые она отыщет для создания успешного локализованного веб-приложения.
Часть 1. Что такое локали и основные аспекты эффективной локализации
Локали — это настройки, охватывающие широкий спектр культурных, языковых и региональных предпочтений пользователей. Они касаются не только языка, но и таких параметров, как дата и время, цифры, символы валют и т.д.
Одним из основных элементов локали является язык. Команде Сары нужно разработать интерфейс, который можно легко и быстро перевести на множество языков.
Другим важным аспектом локализации является форматирование дат и времени. В разных регионах существуют свои правила их отображения. Разработчикам нужно убедится в том, что дата и время в приложении отображаются правильно и последовательно.
Еще одним моментом, на который стоит обратить внимание, является система счисления. Front-end разработчикам необходимо внимательно следить за тем, какие десятичные разделители, разделители тысяч и символы валют используются в различных локалях.
Кроме того, нужно учитывать визуальное представление локалей. Оно включает в себя адаптацию цветовых схем, изображений и символики к различным культурным контекстам. В процессе локализации рекомендуется избегать использования визуальных средств, которые могут быть оскорбительными или неправильно понятыми в некоторых регионах.
Часть 2. Важность локализации
Локализация — один из ключевых моментов для раскрытия потенциала приложения на глобальном рынке. Она предполагает адаптацию приложения к языковым, культурным и функциональным требованиям конкретных регионов. Локализация гарантирует, что пользователи из разных регионов смогут беспрепятственно взаимодействовать с приложением Сары. Внимание к деталям повышает вовлеченность, доверие и удовлетворенность клиентов. Когда пользователи сталкиваются с контентом, соответствующим их культурным и языковым предпочтениям, они чувствуют себя значимыми для авторов приложения.
При локализации приложения для европейского региона Саре нужно учитывать различные факторы. Во-первых, следует убедится в том, что оно поддерживает основные европейские языки, такие как английский, испанский, французский, немецкий и итальянский. Кроме того, команда Сары приводит формат даты в соответствие с европейским стандартом, где день идет перед месяцем. Чтобы пользователям было комфортно, Сара переводит часы в 24-часовой формат времени, которым повсеместно пользуются в Европе.
С другой стороны, когда Сара адаптирует свое приложение для Северной Америки, она ориентируется на удовлетворение ожиданий пользователей в США и Канаде. В приложении предусмотрен выбор английского либо французского (для канадских пользователей) языка. Сара и ее команда убедились в том, что формат даты соответствует американским стандартам, а также приняли 12-часовой формат времени с индикаторами AM и PM.
Реализовав эти аспекты локализации, характерные для Европы и Северной Америки, Сара создала приложение, которое действительно ориентируется на пользователей на разных континентах.
Часть 3. Использование готовых решений для эффективной локализации
Хороший разработчик всегда задается вопросом: Как можно упростить локализацию в процессе разработки? Ответ заключается в использовании готовых решений. Такой подход дает множество преимуществ, позволяющих оптимизировать процесс локализации.
Итак, что Webix может предложить в помощь Саре?
Во-первых, заранее переведенные контролы и виджеты. Библиотека Webix включает в себя локализацию элементов управления и комплексных виджетов. Все элементы пользовательского интерфейса со встроенными лейблами, такие как кнопки, меню и т.д., уже переведены на несколько языков. Они также доступны для редактирования или создания новых пользовательских переводов. В Webix также предусмотрены предопределенные методы форматирования чисел и дат. Следовательно, нет необходимости вручную обрабатывать каждый элемент, и команда Сары может сосредоточиться на других аспектах работы над приложением.
Во-вторых, широкая поддержка локалей. В стандартный пакет библиотеки Webix входит 10 локалей, а именно:
- «en-US» — североамериканская (используется по умолчанию),
- «ru-RU» — русская,
- «fr-FR» — французская,
- «ja-JP» — японская,
- «be-BY» — белорусская,
- «de-DE» — немецкая,
- «es-ES» — испанская,
- «it-IT» — итальянская,
- «zh-CN» — китайская,
- «pt-BR» — португальская (Бразилия).
Webix Pro идет еще дальше. Он предоставляет доступ к тремстам локалям, обеспечивая всестороннее покрытие различных регионов. Использование встроенных локалей избавляет Сару от необходимости создавать переводы с нуля, что экономит время и ресурсы.
В-третьих, реализация динамического переключения языков. Пользователи могут изменить язык “на ходу”, что позволяет им мгновенно переключаться между нескольким локализованными версиями приложения. Подобные решения создают персонализированный и ориентированный на пользователя опыт.
В целом, решение Сары использовать библиотеку облегчает управление процессом локализации и обеспечивает последовательность действий. Ее команда может сосредоточиться на оптимизации функциональности веб-приложения, а Webix позволит легко наладить контакт с глобальной аудиторией.
Часть 4. Работа с локалями в Webix
Теперь, когда мы рассмотрели как Webix может помочь в локализации, давайте обратимся к практическим примерам.
В библиотеке Webix основной частью API для локализации является модуль webix.i18n. Он содержит следующие части:
- метод для смены глобальной локали
- лейблы и форматы активной локали
- все остальные доступные локали основной библиотеки (включая переведенные лейблы и форматы дат/чисел)
- готовые методы форматирования дат и чисел.
Миксины webix.Date и webix.Number содержат некоторые специфические методы локализации, например, для преобразования строк в даты или числа в соответствии с заданным форматом.
По умолчанию в Webix установлена локаль «en-US». Ее можно изменить с помощью метода setLocale(), указав в качестве параметра имя нужной локали. Для именования локалей используются общие языковые теги (коды BCP 47). Например, французская локаль может быть установлена следующим образом:
Webix также позволяет настраивать параметры для текущей локали. Например, для изменения полного формата даты (отображаемого в Datepicker и других виджетах) необходимо изменить свойство webix.i18n.fullDateFormat. После установки нового формата изменения применяются вызовом метода setLocale():
webix.i18n.setLocale();
Чтобы посмотреть как это реализовано на практике, обратитесь к примеру.
Что касается комплексных виджетов, то локализованные заголовки хранятся в специальном объекте у каждого виджета. Для примера, давайте рассмотрим Document Manager. У данного виджета это будет объект docManager.locales.
Файлы локализации можно найти в одном из репозиториев Webix на Github. Здесь приведены переводы (несколько из них предоставлены пользователями) и английская локаль для всех комплексных виджетов.
Чтобы изменить локаль по умолчанию комплексного виджета, необходимо выполнить следующие действия. Первый шаг — установка пользовательского перевода путем создания нужной локали (ниже это «zh») в объекте docManager.locales:
docManager.locales.zh = {
Favorite: "我的收藏",
Recent: "最近使用",
Shared: "我的分享",
Trash: "废纸篓",
"Add to favorites": "添加到我的收藏",
…
};
Локаль по умолчанию (English) хранится в этом же объекте. Доступ к ней можно получить с помощью ключа ‘en’ (docManager.locales.en).
Вторым шагом является определение текущей локали. Это можно сделать, задав свойство locale виджета в конструкторе:
const dm = {
view: "docmanager",
id: "dm",
url: "https://docs.webix.com/docmanager-backend/",
locale: { lang: "zh" },
};
webix.ui(fm);
});
Если возникает необходимость переключения обратно на английский язык, то алгоритм действий следующий:
- получите сервис «locale» экземпляра виджета
- с помощью метода setLang() установите язык локали на английский.
locale.setLang("en");
Встроенные лейблы компонентов Webix в составе сложных виджетов, а также локализация дат и чисел зависят от используемой локали Webix. Для синхронизации локализаций сложных виджетов и Webix в конструкторе виджета должен быть определен параметр webix:
view:"docmanager",
id:"dm",
url: "https://docs.webix.com/docmanager-backend/",
locale: {
lang: "en",
webix: {
// добавить соответствующие локали Webix
en: "en-US",
zh: "zh-CN"
}
}
}
С помощью Webix можно динамически переключать языки. Например, эта возможность может быть реализована в виде нескольких кнопок на панели инструментов.
Первый шаг — синхронизация комплексных виджетов и Webix, как это было описано чуть ранее:
view: "docmanager",
id: "dm",
url: "https://docs.webix.com/docmanager-backend/",
locale: {
lang: "en",
webix: {
// переключить виджет на соответствующую локаль
en: "en-US",
zh: "zh-CN",
ru: "ru-RU",
},
},
};
docManager.locales.ru = ru;
docManager.locales.zh = zh;
Следующий шаг — получение сервиса «locale» и использование метода setLang() для отображения выбранного языка.
cols: [
{
view: "segmented",
options: ["en", "ru", "zh"],
width: 250,
click: function() {
const locale = $$("dm").getService("locale");
locale.setLang(this.getValue());
},
},
],
};
webix.ui({
type: "wide",
rows: [toolbar, dm],
});
});
Related sample: Document Manager: Switching Locales
Как видно из этих практических реализаций локалей, настройка пользовательского интерфейса с помощью Webix осуществляется быстро и просто. Команде Сары потребуется написать всего несколько строк кода для реализации желаемых настроек, что сократит время и затраты.
Заключение
В этой статье мы попытались осветить важность локализации при разработке веб-приложений. Успешная стратегия локализации позволила нашей героине создать приложение, которое находит отклик у пользователей по всему миру. А использование готовых решений, таких как Webix, значительно упростило и повысило эффективность процесса локализации.
Если вы хотите попробовать Webix, загрузите его через npm, Client area или кликните по большой фиолетовой кнопке внизу. Чтобы узнать больше о всех возможностях виджетов Webix, посетите сайт с документацией и галерею сниппетов.