i18n и l10n: каква е разликата и защо са важни?
В света на софтуера, уеб приложенията и дигиталните продукти често се срещат съкращенията i18n и l10n. Те звучат странно на пръв поглед, но всъщност описват два изключително важни процеса, свързани с това един продукт да може да се използва удобно от хора по целия свят.
Нека видим какво означават и с какво се различават.
Какво означава i18n (Internationalization)?
i18n е съкращение от английската дума internationalization (интернационализация). В нея има 18 букви между „i“ и „n“, затова се пише накратко i18n.
Интернационализацията е процесът на проектиране и разработка на софтуер така, че той да може лесно да бъде адаптиран за различни езици, региони и култури, без да се налагат сериозни промени в кода. С други думи, i18n е „подготовката на основата“.
Примери за i18n:
Текстовете в приложението не са „заковани“ в кода, а са изнесени в преводни файлове.
Системата поддържа Unicode (UTF-8), за да може да показва кирилица, арабски, китайски и др.
Форматите за дата, час, числа и валута могат да се сменят според региона.
Интерфейсът може да се „разтяга“ или „свива“ според дължината на текста (някои езици са по-дълги от други).
Поддържа се писане отдясно наляво (например за арабски или иврит), ако е нужно.
Важно:
i18n не е превод. Това е архитектурна и техническа подготовка продуктът да може да бъде превеждан и адаптиран.
Какво означава l10n (Localization)?
l10n идва от localization (локализация) — между „l“ и „n“ има 10 букви, затова е l10n.
Локализацията е реалното адаптиране на продукта за конкретен език, държава или регион.
Това включва:
- Превод на текстовете (например на български, немски, японски).
Адаптиране на формати за дата и час (например 31.12.2026 вместо 12/31/2026).
Форматиране на числа и валута (например 1 234,56 лв. вместо 1,234.56 USD).
Промяна на мерни единици (км срещу мили, °C срещу °F).
Понякога и културни адаптации: икони, цветове, примери в текстовете, правни текстове и т.н.
Разлика между i18n и l10n
Разликата между двата процеса може да бъде обобщена по следния начин:
Интернационализация (i18n): Техническа и архитектурна подготовка на софтуера за поддръжка на множество езици и региони.Локализация (l10n): Конкретна адаптация на вече интернационализиран софтуер за определен език и регион.
Образно казано:
i18n предоставя инфраструктурата и механизмите.
l10n предоставя конкретното съдържание и регионална адаптация.
Пример за практическо приложение
В софтуерна система за управление на фактури:
На етап
i18nвсички текстове в интерфейса се извеждат в ресурсни файлове, приложението използва регионални настройки (locale) за форматиране на дати и числа, и е осигурена възможност за избор на език от потребителя.На етап
l10nсе създава конкретна българска версия: превеждат се текстовете, задават се подходящи формати за дата и валута (лв.), и съдържанието се съобразява с местната практика.
Заключение
Интернационализацията и локализацията са допълващи се и взаимно зависими процеси.
Интернационализацията осигурява стабилна техническа основа, а локализацията превръща тази основа в реално използваем продукт за конкретна аудитория.
За всеки проект с амбиция за международна употреба е силно препоръчително интернационализацията да бъде заложена още в ранните етапи на разработка, за да се гарантира, че бъдещите локализации могат да бъдат добавяни лесно, последователно и с минимални разходи за поддръжка.