Программирование на языке Ruby
Шрифт:
Библиотека представляет собой реализацию на Ruby (не обертку) набора утилит
4.3.1 Исторические сведения и терминология
Библиотека
Главная причина, по которой мы используем справочники сообщений, — это, конечно, перевод сообщений на другие языки. С их помощью мы также обрабатываем случаи, когда формы единственного и множественного числа различаются (один файл, два файла). Кстати, эти правила очень сильно зависят от конкретного языка.
Обычно у каждой библиотеки и приложения имеется собственный справочник сообщений. Следовательно, в дистрибутив можно включать набор переведенных на разные языки справочников.
Учитываются переменные окружения
Для сопровождения справочника сообщений есть две основных операции (они выполняются вне вашей программы): извлечь сообщения из исходного текста Ruby-программы для формирования начального справочника и включить новые сообщения из исходного текста в существующий справочник (слияние). Операции извлечения и слияния мы рассмотрим в разделе 4.3.3.
4.3.2. Приступаем к работе со справочниками сообщений
Возможно, библиотека
Для разработки вам понадобятся утилиты GNU. Если вы работаете в системе UNIX, то, скорее всего, они уже установлены. В случае платформы Win32 можно установить Glade/GTK+ для Windows; заодно вы получите и утилиты GNU. В любом случае необходимы они только на этапе разработки, а не во время выполнения.
Если у вас нет программы
Коль скоро среда настроена и все установлено, можно приступать к работе со справочниками. Но сначала познакомимся с терминологией.
• РО-файл — это переносимый объектный файл. Так называется текстовое (понятное человеку) представление справочника сообщений. У каждого такого файла есть вариант для различных поддерживаемых локалей. РОТ-файл — это шаблон.
• МО-файл — это переносимый двоичный файл справочника. Он создается из РО-файла. Библиотека для Ruby умеет читать только МО-файлы, но не РО-файлы.
• Текстовый домен — это, по существу, просто базовое имя МО-файла. Он ассоциирован с приложением (привязан к нему).
4.3.3. Локализация простого приложения
В следующем примере определяется класс Person, после чего с ним
Предположим, что этот код сохранен в файле
В методе
Первое обращение просто выводит локализованное сообщение, соответствующее строке
Отметим также, что параметры отделены от текста сообщения, поэтому при необходимости могут подставляться в другом порядке. Ведь иногда при переводе на другой язык приходится переставлять слова.
Тот же метод можно вызвать и короче:
Однако мы рекомендуем более длинную запись. Она понятнее и дает больше информации переводчику.
Метод
Журнал «Если», 1998 № 09
9. Журнал Если
Фантастика:
научная фантастика
рейтинг книги
Битва королей
2. Песнь Льда и Огня
Фантастика:
фэнтези
рейтинг книги
Письма (1870)
Проза:
русская классическая проза
рейтинг книги
Александр Невский. Сборник
Всемирная история в романах
Проза:
историческая проза
рейтинг книги
Олимпия Клевская
Приключения:
исторические приключения
рейтинг книги
Софт. Тело (Software. Wetware)
Проза:
контркультура
рейтинг книги
Наемные убийцы
рейтинг книги
Камень. Книга восьмая
8. Камень
Фантастика:
фэнтези
боевая фантастика
рейтинг книги
Чёрная магия (Сборник)
Шедевры фантастики
Фантастика:
фэнтези
рейтинг книги
Земля под ногами. Из истории заселения и освоения Эрец Исраэль. 1918-1948. Книга 2
Научно-образовательная:
история
рейтинг книги
Кубинский зал
Детективы:
прочие детективы
рейтинг книги
Княжна с тараканами
6. Любимица фортуны Степанида Козлова
Детективы:
иронические детективы
рейтинг книги
Библия Раджниша. Том 2. Книга 1
Религия и эзотерика:
самосовершенствование
эзотерика
рейтинг книги