Посмотрим, как она практически решается в РНР, потому что РНР предоставляет большие возможности для разработки динамических веб-сайтов. В этой главе нами будут рассмотрены:
♦ Жаргон, связанный с данным предметом
♦ Основания для интернационализации
♦ Библиотека Gettext
♦ Расширения системы с помощью объектов
♦ Практический пример, демонстрирующий процедуру интернационализации сценария
Понятия
Рассмотрим жаргон, связанный с данной темой. В частности, есть три выражения, которые полезно знать, занимаясь вопросами интернационализации:
♦ Интернационализация
♦ Локализация
♦ Поддержка национальных языков
Интернационализация
Интернационализация представляет собой процесс подготовки программы к переводу на другой язык. Поскольку слово чудо
вищно длинное, обычно его сокращают до (между первой буквой и последней «п» 18 символов).
Программисты заботятся об интернационализации, приспосабливая к ней код своих сценариев. Программисты не выполняют перевод, но облегчают эту работу другим. Есть ряд стандартов, облегчающих программирование:
♦ Наборы символов и кодировка
♦ Параметры интерфейса пользователя, например формат даты и денежной единицы
♦ Ввод символов, отсутствующих на клавиатуре
♦ Стандарты вывода сообщений, например сообщений об ошибках. Мы не будем обсуждать их здесь
Прежде чем писать интернационализированное приложение РНР, следует познакомиться с Крайне сложно допустить в приложение другие культуры и языки после того, как в основном закончено проектирование и кодирование, поэтому интернационализация определенно должна быть учтена на стадии проектирования.
Локализация
Локализация сокращенно записывается как 110п. Процедура перевода сценария на другой язык, часто выполняемая отдельными переводчиками, известна как локализация. Будучи экспертами в области культуры, они применяют лингвистические и изобразительные соглашения, ассоциируемые с использованием программного обеспечения в своем регионе. Кроме того, они должны быть специалистами по языку оригинала, его идиомам и связанным с ним традициям.
Особый случай локализации, который обеспечивает поддержку заранее определенного набора языков, называется поддержкой многоязычности (multi- lingualization). В этом случае мы работаем не с отдельным языком, а с группой языков, возможно, родственных, поддерживаемых операционной системой, веб-броузером или веб-сервером.