Принято делить тестирование интернационализации на бекенд— и фронтенд— части. Результаты передаются dev-команде, которая корректирует код, приспосабливая приложение к нужным локациям; и дизайнерам. Сопоставление оригинальной и локализованной версий; не потерялось ли что-то; как в целом отличаются локальные атрибуты. Прежде всего, надо подумать, как создать соответствующее тестовое окружение (что, разумеется, в данном случае бывает непросто). Локализация часто обозначается как l10n, где l и n — первая и последняя буквы слова «localization», а 10 означает 10 символов между буквами l и n.
После интернационализации приложения процесс развертывания должен быть адаптирован к процессу перевода. В нашем проекте мы отправляем любые новые термины в перевод сразу после развертывания в промежуточной среде. Развертывание на продакшн будет утверждено сразу после перевода всех терминов и компиляции PO-файлов. Django также использует заголовок Accept-Language для определения локали пользователя и правильного форматирования дат, времени и чисел.
Процесс Перевода
Локализация – это создание приложения, поддерживающего одну определенную локаль и язык. Очень часто можно встретить веб-сайты, которые доступны посетителям на нескольких языках. Мировые бренды осознали, что единственный способ установить связь с клиентами и повысить ценность продукта – это представить свой бизнес пользователям на их родном языке. Перевод очень часто основывается на воссоздании оригинального текста на языке перевода. При этом текст должен соответствовать контексту, для которого он предназначен.
Потенциальные баги, которые мы найдем при тестировании интернационализации будут связаны не с конкретной локалью, а с самим приложением в большинстве случаев. Интернационализация – это процесс подготовки приложения к локализации, в то время как локализация – это процесс обеспечения контента и форматов для определенной локали. В этом смысле любое приложение Jmix уже интернационализировано, поскольку сам фреймворк Jmix содержит все средства для представления приложения на разных языках и в разных форматах данных. Все, что вам нужно сделать как разработчику приложения, – это предоставить необходимый перевод, то есть локализовать приложение. Тогда как интернационализация — процесс обеспечения возможности локализации продукта.
Интернационализация И Локализация В Spring / Hibernate
Профессиональная компания по локализации поможет вам сориентироваться в языковых вариантах. Если вы работаете с профессиональной и честной компанией по локализации, она будет использовать ваши TM для снижения стоимости перевода. В принципе, они не заставят вас платить за перевод одних и тех же абзацев дважды.
Память переводов неизбежно является активом, и важно помнить о поддержании ТМ ради последовательности, креативности и экономии. А теперь представьте ситуацию, когда вам нужно перевести 100 страниц текста без такой помощи. Кроме того, вам придется вручную переводить текст, который вы уже переводили ранее.
В Мексике день стоит перед месяцем, всё пишется строчными буквами и добавлен артикль «de». В Японии день недели не показан, а для отображения слов «год, месяц, день» используются иероглифы. Хоть английский и является самым распространённым интернациональным языком, но участники глобального рынка не ограничиваются одними США и англоговорящими странами. Показательным примером будет тот же Tik-Tok, активных пользователей которого насчитывают около 1 миллиарда, а количество скачиваний на сегодняшний день перевалило за 2.6 миллиарда. При этом большинство пользователей данного приложения из США, Индии и Китая. Если мы уверены, что все веб-элементы не зависят от языка, то мы можем создать чрезвычайно эффективный фреймворк автоматизации для интернационализированного приложения.
Вы открываете сайт крупной международной торговой площадки, чтобы заказать смартфон. На сайте где-то вверху вы находите и кликаете знакомый трехцветный флажок, то есть выбираете локаль «ru-RU» — так более удобно, понятно, ну и чтобы при покупке не ошибиться случайно. После этого контент и интерфейс будут переключены на «русский», а функциональность сайта не изменится — диалоги и визуальные элементы (логотипы и рисунки) вряд ли изменятся.
Снижается вероятность, что что-то пойдет не так и придется исправлять это «не так» на позднем этапе. Это те две вещи, вокруг которых сосредоточено 90% внимания QA-инженера при тестировании локализации. Все остальные, типа правильности расположения https://deveducation.com/ плейсхолдеров, хоткеев, идут после. Вы можете изменить параметры используемые для вашего региона на странице свойств «Региональные параметры/Regional Options», затем переходите на «Язык и региональные стандарты/Regional And Language Options».
Важно следить правильные ли значения для подсчета температуры используются в вашей локали. Как правило используются значения в Цельсиях (3°C) и Фаренгейтах (3°F). Здесь стоит ориентироваться на возможные значения шкал Цельсия и Фаренгейта, а также на правила записи чисел, что мы уже обсудили выше. Для начала давайте в целом разберём, что же такое интернационализация, локализация и, как следствие — глобализация (globalization) и для чего это всё нам нужно. Одинаковый текст на одних языках занимает больше места, чем на других, поэтому интерфейс должен быть способен адаптироваться к этим изменениям без искажений.
- Это означает, что вы создаёте переводы содержимого вашего приложения на конкретный язык, чтобы пользователи из этой локали могли использовать приложение на своём родном языке.
- К примеру все эти варианты для использования вы можете найти в системных настройках языка и региона в MacOS.
- Интернационализация включает в себя разработку кода, который может легко адаптироваться к разным языкам и культурам без необходимости изменения кода.
- Сейчас мы рассмотрим форматы записи чисел и как они могут отличаться.
- Когда возникает мысль о локализации, на ум приходит то, что пользовательский интерфейс и документация приложения должны быть написаны на определенном языке или локали.
С этого момента можно начать использовать ваши строки в самом приложении. MaterialApp, CupertinoApp и WidgetApp — это виджеты, которые обеспечивают базовую конфигурацию и настройку приложения, в том числе и конфигурируют его интернационализацию. Весь код, приведённый в примерах, можно найти в репозитории — в нём собрано приложение с настроенной интернационализацией. С помощью таких адаптаций мы можем улучшить пользовательский опыт нашего приложения.