Локализация.Что такое I18N, L10N и G11N

Локализация.Что такое I18N, L10N и G11N


Сегодня я хочу осветить и обсудить тему локализации (L10N) и интернационализации (I18N).

Что такое I18N, L10N и G11N?

Интернационализация (I18N)

Звучит интересно, но как же нам заставить всё это работать именно в таком виде? Тут нам на помощь приходит интернационализация.

Интернационализация — процесс разработки приложения, при котором код самого приложения независим от любых языковых и культурных особенностей региона/страны (cultural specific data). Internationalization принято сокращать как “I18N”, где 18 — это число символов между “I” и “N”.

Суть интернационализации в том, чтобы сделать процесс локализации проще, дешевле и быстрее. Реализацию I18N обычно начинают на ранних этапах проекта, чтобы подготовить ваш продукт к будущей локализации.

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

Локализация (L10N)

Теперь можно поговорить чуть подробнее и о локализации.

Локализация (localization или L10N) — это процесс перевода и культурной адаптации продукта к особенностям определенной страны, региона. Как упоминалось выше, на этой стадии участники разработки продукта работают с локалями — внешними ресурсами (файлами), которые подгружаются приложением для загрузки локализации для вашей страны/региона. Нюансов, на которые стоит обратить внимание, очень большое количество и их я приведу в разделе с чеклистом ниже, а пока хочу выделить основные зоны локализации:

  • текст и связанные с ним функции (например сортировка, поиск, поддержка спец. символов и т.п.)

  • документация (мануалы, гайды, FAQ, helps и т.п.)

  • форматы даты и времени

  • формат чисел

  • формат денежных величин

  • поддержка различных календарей

  • изображения (картинки, иконки)

  • звук (в частности, озвучка, если таковая имеется)

  • реклама (текстовая, аудио, видео) и т.д.

Глобализация (G11N)

Завершая обзорную часть, хотелось бы ещё упомянуть термин Globalization (G11N), который используется для обозначения комбинации I18N и L10N.

Также он используется для обозначения процесса, благодаря которому компания может выпустить свой продукт на глобальном рынке. Честно говоря не скажу, что есть конкретное определение глобализации вашего продукта (т.е. использования такого количества локалей, после которого ваша глобализация достигает 100%), поэтому я бы охарактеризовал процесс глобализации формулой вида: G11N = I18N + n*L10N, где n — количество локалей, используемой вашим продуктом.

Напоследок я бы хотел ещё указать сокращение для Translation — T9N. На практике используется редко, но тоже встречается.