Difference between revisions of "Локализация системы"

From EjudgeWiki
 
Line 1: Line 1:
 
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Конфигурационные файлы]]/[[Локализация системы]]
 
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Конфигурационные файлы]]/[[Локализация системы]]
 +
 +
Система <tt>ejudge</tt> поддерживает настройку языка пользовательского интерфейса, хотя текущая версия системы обладает рядом недостатков.
 +
 +
Переключения языка пользовательского интерфейса выполняется через стандартный механизм трансляции сообщений gettext. В настоящее время система поддерживает только два языковых окружения — C (окружение по умолчанию для программ на Си) и
 +
ru_RU.KOI8-R (русский язык в кодировке koi-r), которые имеют идентификаторы 0 и 1
 +
соответственно. Для того, чтобы добавить новое языковое окружение, необходимо модифицировать исходный файл l10n.c. Переведённые тексты сообщений находятся в файлах
 +
ejudge.LOCALE.po, где LOCALE — имя языкового окружения.
 +
 +
Если при компиляции системы ejudge скрипт configure обнаружил в системе все необходимые библиотеки и программы, поддержка языкового окружения включается автоматически. В этом случае нет необходимости в ручной правке конфигурационных файлов. Однако,
 +
если необходимо отключить поддержку языкового окружения нужно воспользоваться опцией
 +
--disable-nls скрипта configure.
 +
 +
Поэтому дальнейшие подразделы представляют интерес только в случае, если требуется
 +
вручную изменить настройки поддержки языкового окружения.
 +
 +
===Включение поддержки языкового окружения===
 +
Чтобы включить поддержку языкового окружения, необходимо установить конфигурационный
 +
параметр в файлах настройки утилит. Для конфигурационных файлов в формате XML (ejudge.xml
 +
register.xml, users.xml) это атрибут l10n элемента верхнего уровня конфигурационного файла. Например, для конфигурационного файла ejudge.xml установка атрибута локализации сообщений может выглядеть следующим образом:
 +
<?xml version="1.0" encoding="koi8-r"?>
 +
<config l10n="yes">
 +
<!-- прочие элементы -->
 +
</config>
 +
Для конфигурационных файлов в текстовом формате (serve.cfg, master.cfg, judge.cfg,
 +
team.cfg) это параметр enable_l10n, который необходимо установить. Для любого конфигурационного установка атрибута локализации может выглядеть следующим образом:
 +
enable_l10n
 +
 +
=== Установка каталога сообщений ===
 +
Чтобы система ejudge смогла использовать переводы сообщений, в конфигурационных файлах
 +
утилит необходимо указать каталог сообщений (message catalog), в котором находятся файлы c переведёнными сообщениями. По умолчанию после выполнения команды make install каталоги
 +
сообщений помещаются в каталог, определяемой переменной INST_LOCALE_PATH в makefile.
 +
 +
Именно этот каталог должен быть указан в конфигурационных файлах. Для конфигурационных файлов в формате XML (ejudge.xml register.xml, users.xml) каталог сообщений устанавливается с помощью элемента l10n_dir, например, следующим образом:
 +
<l10n_dir>/usr/share/locale</l10n_dir>
 +
 +
Для конфигурационных файлов в текстовом формате (serve.cfg, master.cfg, judge.cfg,
 +
team.cfg) каталог сообщений устанавливается с помощью параметра l10n_dir, например, следующим образом:
 +
l10n_dir = "/usr/share/locale"

Revision as of 14:25, 21 February 2012

Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/Локализация системы

Система ejudge поддерживает настройку языка пользовательского интерфейса, хотя текущая версия системы обладает рядом недостатков.

Переключения языка пользовательского интерфейса выполняется через стандартный механизм трансляции сообщений gettext. В настоящее время система поддерживает только два языковых окружения — C (окружение по умолчанию для программ на Си) и ru_RU.KOI8-R (русский язык в кодировке koi-r), которые имеют идентификаторы 0 и 1 соответственно. Для того, чтобы добавить новое языковое окружение, необходимо модифицировать исходный файл l10n.c. Переведённые тексты сообщений находятся в файлах ejudge.LOCALE.po, где LOCALE — имя языкового окружения.

Если при компиляции системы ejudge скрипт configure обнаружил в системе все необходимые библиотеки и программы, поддержка языкового окружения включается автоматически. В этом случае нет необходимости в ручной правке конфигурационных файлов. Однако, если необходимо отключить поддержку языкового окружения нужно воспользоваться опцией --disable-nls скрипта configure.

Поэтому дальнейшие подразделы представляют интерес только в случае, если требуется вручную изменить настройки поддержки языкового окружения.

Включение поддержки языкового окружения

Чтобы включить поддержку языкового окружения, необходимо установить конфигурационный параметр в файлах настройки утилит. Для конфигурационных файлов в формате XML (ejudge.xml register.xml, users.xml) это атрибут l10n элемента верхнего уровня конфигурационного файла. Например, для конфигурационного файла ejudge.xml установка атрибута локализации сообщений может выглядеть следующим образом: <?xml version="1.0" encoding="koi8-r"?> <config l10n="yes"> </config> Для конфигурационных файлов в текстовом формате (serve.cfg, master.cfg, judge.cfg, team.cfg) это параметр enable_l10n, который необходимо установить. Для любого конфигурационного установка атрибута локализации может выглядеть следующим образом: enable_l10n

Установка каталога сообщений

Чтобы система ejudge смогла использовать переводы сообщений, в конфигурационных файлах утилит необходимо указать каталог сообщений (message catalog), в котором находятся файлы c переведёнными сообщениями. По умолчанию после выполнения команды make install каталоги сообщений помещаются в каталог, определяемой переменной INST_LOCALE_PATH в makefile.

Именно этот каталог должен быть указан в конфигурационных файлах. Для конфигурационных файлов в формате XML (ejudge.xml register.xml, users.xml) каталог сообщений устанавливается с помощью элемента l10n_dir, например, следующим образом: <l10n_dir>/usr/share/locale</l10n_dir>

Для конфигурационных файлов в текстовом формате (serve.cfg, master.cfg, judge.cfg, team.cfg) каталог сообщений устанавливается с помощью параметра l10n_dir, например, следующим образом:

l10n_dir = "/usr/share/locale"