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