Бюро Научно-Технического Перевода Версия для печати
Технологии перевода

Часто задаваемые вопросы по локализации ПО

Локализация ПО? Что это такое?
Локализация, локализация… почему бы не прекратить морочить голову и не сказать просто "перевод"?
Хм, а что вы имеете ввиду под некоторыми особенностями различных языков?
А зачем она вообще нужна, эта локализация?
Ладно, убедили. Какие же языки наиболее популярны с точки зрения локализации?
А зачем это обращаться к услугам компаний, специализирующихся на локализации ПО? Я могу выполнить локализацию самостоятельно!
Ну, допустим. Так из чего конкретно состоит локализация ПО?
Я слышал, что существуют проблемы, связанные с локализацией на некоторые азиатские языки - так в чем же они заключаются?
Ну а что такое двунаправленный (Bi-Directional) язык?
Что такое кодовая страница (codepage) и почему многие компании, занимающиеся локализацией, требуют от заказчика кодовую страницу и информацию об используемых шрифтах?
Объясните мне, в чем разница между стандартами ASCII, ANSI и ISO?
Посоветуйте, как наилучшим образом интернационализировать мой код?
Что вы понимаете под тестированием пользовательского интерфейса?
Нет, ну это уж слишком - почему я должен предоставить вам все файлы?
Ну а зачем вам отпечатанный в типографии комплект документации?
Почему иногда термин "локализация" пишется как 'localisation', а иногда как 'localization'?

Локализация ПО? Что это такое?

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

Локализация, локализация… почему бы не прекратить морочить голову и не сказать просто "перевод"?

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

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

А с точки зрения перевода при локализации необходимо комбинировать особенности как непосредственно самого ПО, над которым ведется работа, так и культурных особенностей целевого языка.

Хм, а что вы имеете ввиду под некоторыми особенностями различных языков?

Что ж, возмем для примера немецкий язык.

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

С заглавных букв начинаются, например, названия опций. Таким образом, фраза "...and then click Save" понимается пользователем абсолютно однозначно - "…и затем нажмите Save". Однако с точки зрения особенностей немецкого языка такое использование заглавных букв может ввести пользователя в заблуждение: то ли это некий элемент меню, то ли просто еще одно существительное. Одним из решений данной проблемы является выделение слов, отражающих элементы пользовательского меню (и другие специальные элементы интерфейса пользователя), жирным шрифтом (bold). С нашей точки зрения данное решение является отличным выходом для многих языков.

Отлично, поговорим теперь о выделении слова жирным шрифтом. Всем известно, что универсальной комбинацией горячих клавиш для этой функции является Ctrl-B, верно ведь? А вот и нет. В немецком языке слово 'bold' звучит как 'fett'. И это еще не все! На немецкой клавиатуре клавиша, соответствующая слову 'Control' (которая представлена как 'Ctrl' на большей части Западно-Европейских клавиатур) выглядит как 'Strg' (от слова 'Steuerungstaste', где 'Steuerung' соответствует слову 'Control', а 'Taste' слову 'Key'). Таким образом, для локализации ПО на немецкий язык пользовательский интерфейс (UI) нуждается в существенной доработке.

Хорошо, поехали дальше. Даже такая простая вещь как светофор может стать причиной недоразумений при переводе системы с одного языка на другой. Помните, какие цвета представлены в светофоре? В Англии, России и других стран Европы - красный, желтый и зеленый. Но так обстоит далеко не всегда. В Штатах - красный, оранжевый и зеленый. А в Японии, например, этокрасный, оранжевый и голубой.

А зачем она вообще нужна, эта локализация?

Странный вопрос. Да это же очевидно - для увеличения потребительского рынка вашего ПО. Что касается русского языка, то тут даже ничего доказывать не нужно. Всем совершенно ясно, что перевод на другой язык (как правило, английский) позволяет вам рассчитывать на резкое увеличение потенциальных пользователей.

Но, как выясняется, английский язык тоже далеко не всегда является безусловным стандартом. Например, в некоторых странах (Испании, Франции и некоторых других) существует совершенно конкретный закон - просто не разрешено распространение чисто английской версии ПО, только вместе с локализованной. Кстати, российский рынок тоже движется в этом направлении.

Ну и последняя причина для локализации вашего ПО - это что-то типа знака качества. Поясним, что если ваш продукт является "интернациональным", то этот факт бесспорно является отличной рекламой как для самого продукта, так и для вашей компании.

Ладно, убедили. Какие же языки наиболее популярны с точки зрения локализации?

Первое место в этой области естественно занимает английский язык. Далее идут французский, итальянский, немецкий и испанский языки (известные в индустрии локализации как FIGS - по первым буквам английских слов). Для завоевания потребительского рынка Северной Европы используются следующие языки: голландский, датский, норвежский и шведский (DDNS). Японский язык, конечно, тоже очень популярен, но имейте в виду, что он является так называемым двухбайтовым языком, и соответственно для решения проблемы локализации на этот язык требуется затратить значительно больше усилий.

В Северной Америке, Португалии и Южной Америке лидирует испанский.

А зачем это обращаться к услугам компаний, специализирующихся на локализации ПО? Я могу выполнить локализацию самостоятельно!

Грамотно проведенная локализация продукта на несколько языков (да, впрочем, и на один тоже), - это очень сложный процесс. Он включает в себя совместную работу достаточно большого числа людей, специализирующихся на различных направлениях, таких как техническиий перевод, техническое писательство, разработка и тестирование ПО…

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

Впрочем, о технологиях мы еще поговорим.

Ну, допустим. Так из чего конкретно состоит локализация ПО?

Локализация - это хорошо отработанный процесс, состоящий из большого числа итераций. Если формулировать упрощенно, то общепринятым методом является "расчленение" пользовательского интерфейса локализуемого продукта, элементов оперативной справки, вспомогательной документации и многих других компонентов (таких как экранные формы, файлы readme и т.д.) на их составные элементы. Далее весь текст переводится, и из отдельных, уже переведенных, элементов заново собирается готовый программный продукт, но работающий уже на другом языке.

Я слышал, что существуют проблемы, связанные с локализацией на некоторые азиатские языки - так в чем же они заключаются?

Существует серьезное отличие в написании западных и дальневосточных языков. Если в русском слова состоят только из 32 фонетических символов, то в китайском, например, один отдельный символ обычно отображает целое слово. Частенько говорят, что для того, чтобы прочитать газету на китайском языке до конца необходимо знать, по крайней мере, 10 000 символов.

С точки зрения программиста, если отдельный символ в русскоязычном ПО может быть выражен одним байтом (от 1 до 256), то в китайском, вследствие огромного числа различных символов, для решения той же проблемы требуется два байта (от 1 до 65 536). Эти символы хранятся в нескольких таблицах. При этом первый байт сообщает операционной системе, в какую таблицу смотреть, а второй отражает местоположение требуемого символа в этой таблице. Именно этот принцип и называется Double Byte Character Set (DBCS).

Ну а что такое двунаправленный (Bi-Directional) язык?

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

Что такое кодовая страница (codepage) и почему многие компании, занимающиеся локализацией, требуют от заказчика кодовую страницу и информацию об используемых шрифтах?

Кодовая страница - это небольшая часть кода приложения, которая сообщает операционной системе, где следует искать те или иные специальные символы. Если для английского все более-менее прозрачно (хотя, конечно, могут быть различия кодовых страниц под Windows и под Mac), то с русским языком все не так просто - существуют четыре возможные кодировки (ANSI, ASCII, ISO, KOI-8).

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

Например, в греческом языке '737 MS-DOS Greek' символу '&Omega'(верхний регистр буквы омега) соответствует значение 151. Однако в '851 MS-DOS Greek 1' той же самой омеге соответствует значение 213. Сами понимаете, к какой путанице может привести использование неверной кодовой страницы, т.е. кодовой страницы, несоответствующей используемому формату. Например, вместо желаемой буквы омега пользователь получит абсолютно другую - альфа.

Объясните мне, в чем разница между стандартами ASCII, ANSI и ISO?

В начале компьютерной эры основная масса разработчиков ПО была из Америки и других англоязычных стран. Поэтому символьным стандартом, на котором основывалось ПО и операционные системы, был American Standard Code for Information Interchange (ASCII). Этот стандарт имеет 128 буквенно-цифровых и специальных символов. Однако проблема заключается в том, что современные информационные технологии из-за огромного числа применяемых символов просто не "укладываются" в предлагаемый диапазон.

В то время как DOS и Unix до сих пор используют только ASCII, современные операционные системы (такие как Windows 95/NT и Macintosh) используют расширенные символьные наборы.

Для решения проблем, вызванных различиями между стандартами символьных наборов в различных странах, определения стандарта Американского Национального Института Стандартов - American National Standards Institute (ANSI) - постепенно становятся общепринятыми. ANSI в свою очередь является членом Интернациональной Организации Стандартов - International Standards Organization (ISO).

Посоветуйте, как наилучшим образом интернационализировать мой код?

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

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

Что вы понимаете под тестированием пользовательского интерфейса?

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

Нет, ну это уж слишком - почему я должен предоставить вам все файлы?

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

Если вы опасаетесь передавать все в одни руки, то совершенно напрасно. Мы неукоснительно соблюдаем строгую конфиденциальность материалов наших заказчиков.

Ну а зачем вам отпечатанный в типографии комплект документации?

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

Почему иногда термин "локализация" пишется как 'localisation', а иногда как 'localization'?

Никакой принципиальной разницы не существует. Просто в Англии принят термин 'localisation', а в Америке -'localization'.


При копировании материалов ссылка на сайт обязательна
Страница сайта http://www.bntp.ru
Оригинал находится по адресу http://www.bntp.ru/home.asp?artId=28