Що включає i18n
- Виведення тексту через функції перекладу (
__(), t()), а не хардкод рядків
- Підтримка Unicode (UTF-8) по всьому стеку
- Правильна обробка множини (
1 файл / 2 файли / 5 файлів)
- RTL (right-to-left) для арабської, єврейської
- Формати дати/часу, чисел, валют через
Intl API або locale-aware бібліотеки
l10n на практиці
// PHP — через ICU-формат (рекомендовано)
$msg = (new MessageFormatter('uk', '{count, plural,
one {# файл}
few {# файли}
many {# файлів}
other {# файла}
}'))->format(['count' => $n]);
Поширені помилки
- Конкатенація рядків перекладу (порядок слів у мовах різний)
- Ігнорування plurality rules
- Хардкод форматів дат у вигляді
d/m/Y