Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - ArtKZ

#91
Спасибо за высокую оценку моих потуг :)

Quote from: kozlov_ao on October 31, 2013, 11:20:56 AM
Я бы заменил фразу "элемент сбора данных" на "метрика".
Да, наверное это будет более подходящее определение... вернее - может быть и менее понятное, но зато более короткое и емкое.

Quote from: kozlov_ao on October 31, 2013, 11:20:56 AM
Но я для себя пришел к выводу что нужно не просто переводить, а смотреть как этот перевод работает. Может получиться так, что на бумаге это выглядит одним образом, а на деле - другим (например, если тут только часть фразы...).
Вы правы, мне тоже приходилось сталкиваться с подобной проблемой. В особенности, когда один строковый элемент используется в разный местах и в разном контексте. Но будем надеяться, что в NetXMS это не так :)

У меня вообще существует некое непонимание того, как должен делаться перевод, в той части, которая касается определений. Как раз случай с "метрикой" является типовым примером проблемы. В идеальном варианте, при 100% переводе программы и документации, вроде как можно использовать любые определения в программе, которые в итоге будут хорошо описаны в документации и не будут вызывать недопонимания их сути. В этом плане, мне всегда нравилась локализация софта от Microsoft - достаточно сложные в понимании технологии они умудрялись описывать на правильном русском языке с минимальным использованием заимствованных английских слов. Но поскольку, как я предполагаю, перевод NetXMS будет далеко не полным, поэтому возникает вопрос - как вообще более правильно поступать с определениями? На мой взгляд, есть такие решения (возьмем для примера тот же DCI):

1. Используем, там, где переведено, "метрика", ну а где не переведено - пусть пользователь сам додумывается, что "метрика" - это и есть "DCI". Паршивый вариант, путаться народ будет :( Так можно поступить только при наличии полной документации на русском языке, использующей эти же самые определения.

2. Везде пишем "метрика (DCI)", в том числе и в различных диалогах... удлиняет перевод и опять-же непонятно, что делать с уже более устоявшимися "тревога, событие, политика"? Также дописывать везде английский термин в скобках? Переизбыточная информация... а где тогда грань? В каких случаях писать исходное определение в скобках а в каких случаях нет?

3. Используем вариант 1, + где-нибудь в Вики выкладываем словарь русскоязычных терминов... ну или может быть в консоли раздел "Помощь" с годами появится...

4. Пишем все определения по английски. В итоге - никакого разночтения с документацией, информацией на форуме, но перевод уже получается довольно куцый :( Да я не всегда английский термин вписывается в русское предложение. И опять же - где грань? "Alarm" - это непереводимое определение или все же православная "тревога"? :)

Ну вот как-то так... Хотелось бы услышать отзывы и предложения тех, кто решил для себя эту проблему.
#92
Позволю себе предложить свой вариант перевода. Конструктивная критика и предложения приветствуются.


"Request completed successfully","Запрос выполнен успешно"
"Component locked","Компонент заблокирован"
"Access denied","Отказано в доступе"
"Invalid request","Неверный запрос"
"Request timed out","Превышено время ожидания ответа на запрос"
"Request is out of state","Недопустимый запрос"
"Database failure","Ошибка базы данных"
"Invalid object ID","Неверный код объекта"
"Object already exist","Объект уже существует"
"Communication failure","Сбой связи"
"System failure","Сбой системы"
"Invalid user ID","Неверный код пользователя"
"Invalid argument","Неверный аргумент"
"Duplicate DCI","Дублирование метрики"
"Invalid DCI ID","Неверный код метрики"
"Out of memory","Переполнение памяти"
"Input/Output error","Ошибка ввода/вывода"
"Incompatible operation","Несовместимая операция"
"Object creation failed","Сбой создания объекта"
"Loop in object relationship detected","Обнаружена петля в связях объекта"
"Invalid object name","Неверное имя объекта"
"Invalid alarm ID","Неверный код тревоги"
"Invalid action ID","Неверный код действия"
"Operation in progress","Операция выполняется"
"Copy operation failed for one or more DCI(s)","Сбой операции копирование одной или более метрик"
"Invalid or unknown event code","Неверный или неизвестный код события"
"No interfaces suitable for sending magic packet","Отсутствуют подходящие интерфейсы для отправки специального (magic) пакета"
"No MAC address on interface","Отсутствует физический (MAC) адрес интерфейса"
"Command not implemented","Команда не реализована"
"Invalid trap configuration record ID","Неверный идентификатор записи конфигурации ловушки SNMP"
"Requested data collection item is not supported by agent","Запрашиваемая метрика не поддерживается агентом"
"Client and server versions mismatch","Не совпадают версии клиента и сервера"
"Error parsing package information file","Ошибка анализа файла информации пакета"
"Package with specified properties already installed on server","Пакет с заданными свойствами уже установлена ​​на сервере"
"Package file already exist on server","Файл пакета уже установлен на сервере"
"Server resource busy","Ресурс на сервере занят"
"Invalid package ID","Неверный код пакета"
"Invalid IP address","Неверный адрес IP"
"Action is used in event processing policy","Действие используется в политике обработки событий"
"Variable not found","Переменная не найдена"
"Server uses incompatible version of communication protocol","Несовместимая версия протокола обмена с сервером"
"Address already in use","Адрес используется"
"Unable to select cipher","Невозможно выбрать шифр"
"Invalid public key","Неверный открытый ключ"
"Invalid session key","Неверный ключ сеанса"
"Encryption is not supported by peer","Удаленная сторона не поддерживает шифрование"
"Server internal error","Внутренняя ошибка сервера"
"Execution of external command failed","Сбой при выполнении внешней команды"
"Invalid object tool ID","Неверный код объекта инструментария"
"SNMP protocol error","Ошибка протокола SNMP"
"Incorrect regular expression","Некорректное регулярное выражение"
"Parameter is not supported by agent","Параметр не поддерживается агентом"
"File I/O operation failed","Сбой операции чтения/записи файла"
"MIB file is corrupted","Испорченный файл MIB"
"File transfer operation already in progress","Файл в процессе передачи"
"Invalid job ID","Неверный код задания"
"Invalid script ID","Неверный код сценария"
"Invalid script name","Неверное имя сценария"
"Unknown map name","Неизвестное имя карты"
"Invalid map ID","Неверный код карты"
"Account disabled","Учетная запись отключена"
"No more grace logins","Превышено количество доступных подключений"
"Server connection broken","Соединение с сервером прервано"
"Invalid agent configuration ID","Неверный код конфигурации агента"
"Server has lost connection with backend database","Потеря соединения сервера с базой данных"
"Alarm is still open in helpdesk system","Тревога до сих пор открыта в системе поддержки"
"Alarm is not in «outstanding» state","Тревога находится не в «нерешенном» состоянии"
"DCI data source is not a push agent","Источник метрики не является агентом «push»"
"Error parsing configuration import file","Ошибка анализа импортируемого файла конфигурации"
"Configuration cannot be imported because of validation errors","Конфигурация не может быть импортирована из-за ошибок при проверке"
"Invalid graph ID","Неверный код диаграммы"
"Local cryptographic provider failure","Локальный сбой поставщика криптографических услуг"
"Unsupported authentication type","Неподдерживаемый метод проверки подлинности"
"Bad certificate","Неверное цифровое удостоверение"
"Invalid certificate ID","Неверный код цифрового удостоверения"
"SNMP failure","Сбой протокола SNMP"
"Node has no support for layer 2 topology discovery","Узел не поддерживает обнаружение топологии L2"
"Invalid situation ID","Неверный код ситуации"
"Named instance not found","Именованная сущность не найдена"
"Invalid event ID","Неверный код события"
"Operation cannot be completed due to agent error","Операция не может быть завершена из-за ошибки агента"
"Unknown variable","Неизвестная переменная"
"Requested resource not available","Запрошенный ресурс недоступен"
"Job cannot be cancelled","Задание не может быть прервано"
"Invalid policy ID","Неверный код политики"
"Unknown log name","Неизвестное имя журнала"
"Invalid log handle","Неверный дескриптор журнала"
"New password is too weak","Новый пароль очень простой"
"Password was used before","Пароль использовался ранее"
"Invalid session handle","Неверный дескриптор сеанса"
"Node already is a member of a cluster","Узел уже является участником кластера"
"Job cannot be put on hold","Задание не может быть приостановлено"
"Job on hold cannot be resumed","Приостановленное задание не может быть продолжено"
"Zone ID is already in use","Код зоны уже используется"
"Invalid zone ID","Неверный код зоны"
"Cannot delete non-empty zone object","Невозможно удалить непустую зону"
"No physical component data","Отсутствуют данные о физическом компоненте"
"Invalid alarm note ID","Неверный код узла-источника тревоги"
"Encryption error","Ошибка шифрования"
"Invalid mapping table ID","Неверный код таблицы сопоставления"
"No software package data","Нет данных программного пакета"
"Invalid DCI summary table ID","Неверный код сводной таблицы метрик"
"User is logged in","Пользователь подключился к серверу"
"XML parse error","Ошибка анализа XML"
"High query cost","Высокая стоимость запроса"
"License violation","Нарушение лицензии"
"Number of available client licenses exceeded","Превышено количество лицензированных подключений"
"Bad MIB file header","Неверный заголовок файла MIB"
"Bad MIB file data","Неверное содержимое файла MIB"
#93
У меня та же самая проблема с UniPing - в его реализации SMNP отсутствуют ifOperStatus, ifAdminStatus, про IP адреса там тоже ничего нет, очевидно поэтому NetXMS везде рисует статус как Unknown. Игры с заданием жесткого статуса интерфейса в состояние Normal ни к чему не привели - статус устройства остается неизвестным :( Как и написал wonderboy, это все, что отдает устройство в ветке 1.3.6.1.2.1.1.1.0.
#94
Спасибо, буду ждать!
#95
Здравствуйте уважаемые!

Помогите пожалуйста со сборкой subj с поддержкой Unicode? Без Unicode все собирается прекрасно (ну почти!).
Пытаюсь собрать с Unicode (установлена libiconv-1.14):

-bash-3.2# CFLAGS=-I/usr/local/include CPPFLAGS=-I/usr/local/include LIBS=-L/usr/local/lib/ ./configure --with-server --with-sqlite --prefix=/opt/netxms --disable-64bit --with-pgsql --with-agent --with-openssl --enable-unicode
...
checking wctype.h usability... yes
checking wctype.h presence... yes
checking for wctype.h... yes
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking for wchar_t... yes
checking for wint_t... yes
checking size of wchar_t... 4
checking for wcslen... yes
checking for wcsdup... no
checking for wcsncpy... yes
checking for wcstoll... yes
checking for wcstoull... yes
checking for towupper... yes
...
checking for wcscasecmp... no
checking for libiconv_open in -liconv... yes
checking for libiconv... yes
checking whether iconv supports UCS-2-INTERNAL... yes
checking whether iconv supports UCS-2... yes
checking whether iconv supports UCS2... no
checking whether iconv supports UCS-2BE... yes
checking whether iconv supports UCS-2LE... yes
checking whether iconv supports UTF-16... yes
checking whether iconv supports UCS-4-INTERNAL... yes
checking whether iconv supports UCS-4... yes
checking whether iconv supports UCS4... no
checking whether iconv supports UCS-4BE... yes
checking whether iconv supports UCS-4LE... yes
checking whether iconv supports UTF-32... yes
checking whether iconv supports ISO8859-1... yes
checking whether iconv supports ISO-8859-1... yes
checking whether iconv supports ASCII... yes
checking whether iconv supports //IGNORE... yes
checking for iconv declaration... const
checking for floor in -lm... yes
...
---------------------------------------------------------------------
                         Configure results
---------------------------------------------------------------------

Prefix                  : /opt/netxms
Build Server            : YES
Server libs             :  -lssl -ltermcap
Encryption enabled      : YES
Build DB-Drivers        : pgsql sqlite
Build Clients           : NO
Build Agent             : YES
Subagents list          : sunos
Build Static Agent      : NO
UNICODE build           : YES
Use internal libexpat   : NO
Use internal libtre     : YES
Use internal zlib       : NO
Force 32bit build       : YES
C compiler              : gcc
C++ compiler            : g++
CPPFLAGS                : -I/usr/local/include -D_THREAD_SAFE -DTRE_WCHAR=1 -I/usr/local/pgsql/include -I/usr/include/pgsql -I/usr/pgsql/include -I/usr/local/include/pgsql -I/usr/local/pgsql/include/pgsql -I/usr/pgsql/include/pgsql -I/usr/local/postgresql/include -I/usr/include/postgresql -I/usr/postgresql/include -I/usr/local/include/postgresql -I/usr/local/postgresql/include/postgresql -I/usr/postgresql/include/postgresql -I/opt/openssl/include -DUNICODE -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -m32 -I/usr/local/include -DPREFIX=L\"${prefix}\" -DDATADIR=L\"${pkgdatadir}\" -DBINDIR=L\"${bindir}\" -DLIBDIR=L\"${libdir}\" -DPKGLIBDIR=L\"${pkglibdir}\"
CXXFLAGS                : -g -O2 -fno-rtti -fno-exceptions
CFLAGS                  : -I/usr/local/include
LDFLAGS                 :  -m32  -L/usr/local/pgsql/lib -L/usr/lib64/pgsql -L/usr/lib/pgsql -L/usr/pgsql/lib -L/usr/local/lib/pgsql -L/usr/local/pgsql/lib/pgsql -L/usr/pgsql/lib/pgsql -L/usr/local/postgresql/lib -L/usr/lib/postgresql -L/usr/postgresql/lib -L/usr/local/lib/postgresql -L/usr/local/postgresql/lib/postgresql -L/usr/postgresql/lib/postgresql -L/usr/local/lib -L/opt/openssl/lib -L/usr/local/lib
LIBS                    : -lm -lkvm -lexpat -lz -lkstat -ldl -lsocket -lxnet -lcrypto -lcrypto -lcrypto -L/usr/local/lib/ -lpthread -liconv
PostgreSQL libs         : -lpq

-bash-3.2# make
make  all-recursive
...
Making all in libnetxms
make[3]: Entering directory `/export/src/netxms-1.2.8/src/libnetxms'
  CXX    libnetxms_la-agent.lo
In file included from libnetxms.h:28,
                 from agent.cpp:24:
../../include/nms_util.h: In member function `void StringMap::set(const wchar_t*, const wchar_t*)':
../../include/nms_util.h:282: error: `wcsdup' undeclared (first use this function)
../../include/nms_util.h:282: error: (Each undeclared identifier is reported only once for each function it appears in.)
../../include/nms_util.h: In member function `void TableColumnDefinition::setDisplayName(const wchar_t*)':
../../include/nms_util.h:490: error: `wcsdup' undeclared (first use this function)
../../include/nms_util.h: In member function `void Table::setTitle(const wchar_t*)':
../../include/nms_util.h:531: error: `wcsdup' undeclared (first use this function)
../../include/nms_util.h: At global scope:
../../include/nms_util.h:1116: error: `wchar_t* wcsdup(const wchar_t*)' used prior to declaration
make[3]: *** [libnetxms_la-agent.lo] Error 1
make[3]: Leaving directory `/export/src/netxms-1.2.8/src/libnetxms'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/export/src/netxms-1.2.8/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/export/src/netxms-1.2.8'
make: *** [all] Error 2

И вот на основании вышеизложенного возникает извечный русский вопрос: Что делать? :)