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