Статьи

С языка на язык, или Как мы делаем локализацию

в рубрике Project Management, Usability & UX

Когда у систем, которые вы разрабатываете, появляются активные пользователи в других странах, вашу компанию ожидают большие перемены. Мудрые китайцы, желая насолить врагам, говорят им: чтоб ты жил в эпоху перемен! Мы перемен бояться мы не будем. Мы попытаемся к ним подготовиться.

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

Несколько компаний, в которых я работала, вначале рассуждали примерно так: проблема не стоит выеденного яйца. Нужно перевести на другие языки все названия элементов интерфейса и все сообщения, которые система выдает пользователю. И “хелп”, разумеется. Да, справочную систему и документацию, именно это мы и имели в виду, конечно. Кто будет переводить на другие языки “софт”? Как кто? Ну, скажем, разработчики. Кто будет переводить “хелп”? Как кто? Ну, скажем, переводчик и технический писатель. Сколько времени для этого потребуется? Ну, предположим, что на “софт” мы кладем неделю. Нет, 10 дней. Чего там переводить-то. И на “хелп” тоже… скажем, дней 10. И все, локализация готова. Что значит какими средствами мы будем пользоваться? А чем мы обычно пользуемся? Вот тем и будем пользоваться… Что? Почему это результаты придется выбросить и начать все заново? Спорим, что все получится?

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

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

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

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

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

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

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

Комментариев: 2 на “С языка на язык, или Как мы делаем локализацию”

  1. Наташа, респект. Все очень и очень правильно. Я просто +1.
    Мне знакомые, которых я сейчас консультирую, рассказали сколько они получили (и до сих пор получают) проблем с локализацией, - это не просто “локализация - это отдельный класс задач в программной индустрии”, это реально достойно называться “проект”.
    Пиши еще! Обожаю твои блог-посты ;-)

  2. Спасибо, Денис. Это, видишь ли, опыт, полученный мной в локализации программных продуктов разных компаний. Среди них можно назвать и Microsoft, и Corel, и Emerson Process Management (бывш. Fisher-Rosemount - это такие забавные сисемки, автоматизирующие производственный процесс крупных нефтедобывающих и нефтеперерабатывающих компаний) и Epson.
    Кстати, про локализацию могу рассказать забавную историю.
    Локализация одного из программных продуктов Corel.
    Перевод текстов конфигурацинного файла доверили профессионалам-филилогам.
    Английский текст:
    .AI is the native format for Adobe Illustrator
    Перевод: .AI является родным форматом для Adobe Illustrator (жаргон, конечно, но в общем правильно)
    Двумя строчками ниже - текст комментария, выдаваемого пользователю в процессе преобразования одного графического формата в другой графический формат:
    AI import
    Перевод:
    Импор искусственного интеллекта.
    Надеюсь, ты догадаешься, как перевели строчку:
    AI Export
    Правильно.
    Экспорт искусственного интеллекта.

    С этих пор в моем лексионе появилось устойчивое выражение “импорт искусственного интеллекта”. Означает процесс, в котором все участники не пользуются головным мозгом по его прямому назначению.

Прокомментировать

Вы должны быть авторизованы для комментирования.

Партнеры

Microsoft ITONLINE Group ScrimTrek IT Trainings


© Careerlab, ITONLINE GROUP 2010 Команда Software People

+7 (495) 775-15-43

team@softwarepeople.ru