Тестирование Локализации и Интернализации

4,636 views

Published on

Published in: Education, Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,636
On SlideShare
0
From Embeds
0
Number of Embeds
73
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Тестирование Локализации и Интернализации

  1. 1. Тестирование Локализации и ИнтернализацииГорбачик Лилия
  2. 2. Когда продукт, который вы разрабатываете тестируете, выходит на мировойрынок, рано или поздно встает вопрос о локализации. Тут начинается самоеинтересное...Для начала давайте определимся с терминами Глобализация, Интернализацияи Локализация.Глобализация, в большей степени, отражает стратегию бизнеса в целом,нацеленность на мировой рынок сбыта. Интернализация – это подход кразработке, при котором создана база для последующей адаптации работыприложения на различных языках (разделение кода и локально-зависимыхсоставляющих). Локализация – это и есть сам процесс перевода итестирования адаптации приложения на различные языки.Я намеренно разделила понятия Интернализация и Локализация. Конечно,при правильной разработке, интернализация включает в себя локализацию.Но бывают иные случаи – приложение растет, развивается постепенно,претерпевает изменения и в какой-то момент становится ясно – надолокализовать продукт, хотя изначально об этом никто и не помышлял. В этомслучае происходит именно локализация, а интернализация – это изначальноизвестное стратегическое будущее проекта.Если решение воплотить локализацию пришло «внезапно», то это несет всебе дополнительные риски, и на тестирование такой локализациинеобходимо выделить больше времени, т.к. в процессе обычно выявляетсянезрелость продукта к таким изменениям, требуется доработка –соответственно, дополнительное время. Так же не сразу выявляютсяненужные зависимости ресурсов, что приводит к дополнительному раундуфиксов. Вывод: если локализация нагрянула неожиданно – накиньтепроцентов 30% в план – пригодится.В связи с открывшейся перспективой «говорить» приложению на несколькихязыках, появляется множество задач и вопросов: • делать локализацию собственными силами или привлекать аутсорсинг или комбинировать собственные силы с аутсорсингом. 2
  3. 3. • определить список поддерживаемых языков (очень важно, будет ли среди поддерживаемых языков китайский, корейский, японский, арабский). • использовать или нет псевдолокализацию как предварительный шаг локализации. • осуществить перевод пользовательского интерфейса. • адаптация к различным форматам данных. • осуществить перевод системных сообщений и ошибок. • осуществить адаптацию графики, звуков, анимации. • осуществить перевод help и сопутствующей документации. • проверка правильности перевода в контексте данного приложения. • проверка локализованных приложений на разных языковых платформах.ПсевдолокализацияРешение о принятии этапа псевдолокализации может быть связано сжеланием стабилизировать теоретическую локализацию, если достаточномного языков локализации.Что же такое псевдолокализация?Путем хитрых научных исследований выяснилось, что при локализациидлина строки увеличивается в среднем на 30%. Именно этот показательиспользуется для псевдолокализации.Утверждается спец символы начала и конца строки, например *** как началостроки и +++ как конец строки. Таким образом, псевдолокализованная строкаможет выглядеть так:***Тестовая строка+++Что это дает? Можно тестировать читабельность и проверять вся ли строка(сообщение) будет помещаться и отображаться на контроле и будет липсевдолокализироваться в принципе, будет ли правильно масштабироватьсяинтерфейс при изменении размера шрифта, например.Подобным образом может осуществляться псевдолокализация графики,аудио, анимации. На первый взгляд забавно звучит: псевдолокализацияграфики, аудио, анимации. Не так уж странно, если задуматься над этимвопросом. Зачастую в качестве графики может использоваться картинки,которые в большей степени понятны, очевидны именно для жителейопределенной страны. Например, герой из мультика «Ну, погоди!» известенкаждому в нашей стране, мы все помним эти замечательные серии. Если вприложении будет иллюстрация из этого мультика, мы сразу поймемконтекст данного изображения. Но, если показать это же изображение,например, американцу, не стоит ждать, что он проникнется нежными 3
  4. 4. воспоминаниями о детстве. Для него это будет просто забавная картинка. Какже будет выглядеть локализация такой графики?Тоже касается аудио и других медиафайлов. Т.к. локализация – это адаптациядля жителей других стран носителей других культур, то следует обратитьпристальное внимание на то, действительно ли графическое медийноесопровождение усиливает понимание продукта, а не вводит в заблуждениепользователей.Но на этапе псевдолокализации картинка может меняться так:Обозначение Ru-ru на картинке указывает на то, что впоследствии картинкаизменится на русскую версию.После завершения этого подготовительного этапа начинается, чтоназывается, проверка в полевых условиях. Время приступать к настоящемусражению за локализацию или против локализации - это как пойдет.Какие важные моменты стоит здесь учесть?Системные настройки, которые являются маркерными при выбореязыка вашего приложения.Работая с разными проектами, могу сказать, что спектр велик. Приступая кработе с проектом, не лишним будет интерес: Почему именно так работаетлокализация? Итак, список в студию: 1. Browser (в случае вэб-приложения) Tools → Language preference. Выбранный в этой настройке язык и будет определять язык UI. Но коварство этих настроек проявляется тогда, когда в списке языков 4
  5. 5. первым значится неподдерживаемый язык. Как корректно обрабатывать такой случай? Возможно, искать в списке первый поддерживаемый язык, а если такового нет, то считать выбранным языком базовый (в общем случае, английский). 2. System locale, users locale (Control Panel → Region and Language). Здесь возможны вариации. Настройки System locale, users locale могут трактоваться приложением как независимые настройки, а может использоваться "жесткая сцепка". 2.1. Users locale (Control Panel → Format tab → Region and Language). Важным поинтом является то, что после выбора страны становится доступной опция расширенного форматирования таких параметров как числа, валюта, дата, время. Неспособность корректно обработать такие настройки часто губит приложение. Так же нужно помнить о том, что данная настройка может быть выставлена для каждого пользователя. Исходя из этого, не вредно проверить работу системы под разными пользователями разными users locale. 2.2. System locale (Administrative tab → Change system locale.) Эта настройка для всей системы в целом, т.е. в отличие от users locale, она будет едина для всех пользователей. 2.3. Жесткая сцепка Users locale & System locale. "Так не бывает! Это неправильно!" - скажите вы. "Бывает и так", - отвечу я со слезами на глазах.Так же отдельным пунктом стоит рассмотреть клиент-серверные приложенияи требования к настройкам локали сервера и клиента. Возможные вариантыограничиваются фантазией архитектора разработчика.Оставляя локали (locales) позади, переходим к следующему этапу.На что обратить внимание при тестировании локализации и интернализацииUI & functional? • Текст должен отображаться полностью. Строка (предложение) не должна быть составной, т.к. использование составных строк приспособлено к определенному языку и не может гарантировать корректность при переводе. 5
  6. 6. • Списки и меню – если размер списка или меню жестко прописан и не появляется скролбара, например, некоторые пункты списка или меню могут просто безмолвно изчезнуть.• Если в локализации присутствует Китайский язык, важно помнить, что направление текста может быть как слева направо, так и сверху вниз. При написании текста сверху вниз неприменимы правила переноса, привычные при письме слева-направо. (Это просто перелом мозга)• Сортировка. Сложно, не владея, к примеру, Китайским языком, оценить правильность сортировки. Предлагаю применить хитрость, иначе говоря – костыль. Для сортировки, если это возможно, задать 3 значения. Таким образом, при сортировке (ascending, descending) 1 значение должно все время вторым в списке, а первое и третье значение должны меняться местами. Такой метод позволит выявить мертвую сортировку.• Печать. Печать на листах разных форматов, с разными единицами измерения листа.• Форматы и данные. o Дата o Время o Валюта o Числа (разделение целойдробной части, разделитель тысяч) Какие возможны варианты настройки и тестирования? Самое простое – когда эти форматы настраиваются внутри приложения и не требуют взаимодействия с операционной системой. Второй вариант, когда настройки берутся из Control Panel → Format tab → Region and Language как упоминалось выше, но при этом не допускается расширенная настройка. 6
  7. 7. И последний, самый мучительный вариант, когда настройки берутся изControl Panel → Format tab → Region and Language и при этомразрешается расширенная настройка этих параметров.Здесь самые коварные баги могут крыться в динамическом измененииэтих настроек. Приложение должно определять, можно ли динамическиво время работы тестируемого приложения менять эти настройки илинеобходимо переоткрыть ПО после этого. Возможно, придется дажеперезапустить сервисы. Важно, чтобы эта информация не затерялась инашла отражение в Help или другом документе.Очень важный момент в локализации при работе с финансовым ПО.Некоторые данные – такие как валюта, в финансовой проводке, должныбыть сохранены как есть. Очень нехорошо получится, если на счетпоступят 10 000 рублей вместо 10 000€.С другой стороны, возможно, при распределенной структуре обработкавременных данных производится путем перерасчета в GMT время иперевод в формат 24H. На это тоже стоит обратить внимание иперепроверить преобразование текущего времени приложения в GMT иобратно – результаты операции со временем должны корректнопреобразовываться во время приложения.Это, конечно же, не полный список тех тонкостей, которые могутвстретиться на Вашем пути. В заключении хотелось бы напомнить, чтопри распределении ответственности, при наличии возможности, стоитзаложить основу для взаимодействия с командами тех. писателей,локализаторов и время на это взаимодействие. Ведь в конечном итоге,именно отдел тестирования отвечает за качество продукта. 7
  8. 8. Спасибо за внимание!Если у Вас возникли вопросыили Вы хотели бы со мнойсвязаться:http://lilia-gorbachik.cominfo@lilia-gorbachik.com 8

×