Оповещения и локализация в SCSM

SCSM изначально был рассчитан на работу в мульти язычных средах, когда сотрудники используют одну и ту же систему с интерфейсом на разных языках. Но кроме собственно отображения информации, необходимо помнить, что SCSM также выполняет различные внутренние процессы, которые, так или иначе, должны возвращать какую-либо текстовую информацию “в мир”. Примером таких процессов является рассылка оповещений, в частности почтовых. Судя по форумам TechNet, этот процесс вызывает массу вопросов, в том числе и у русскоязычных пользователей. В данной статье я постараюсь полностью описать этот процесс и его нюансы. Продолжить чтение этой записи

SCSM: соответствие между английскими и русскими названиями

В связи с “особенностями перевода” в SCSM, не всегда бывает понятно, что же имели ввиду разработчики, когда переводили тот или иной элемент. Переключаться между консолями не всегда удобно, да и долго. Поэтому я создал скрипт, который выводит все строки для 2х языков:

SELECT 
	LTRusName.ElementName, 
	LTEnuName.LTValue as EnuName,
	LTEnuDesc.LTValue as EnuDesc, 
	LTRusName.LTValue as RusName, 
	LTRusDesc.LTValue as RusDesc 
FROM
(SELECT * FROM dbo.LocalizedText where LTStringType = 1 AND LanguageCode = 'RUS') AS LTRusName  
LEFT OUTER  JOIN
 dbo.LocalizedText AS LTRusDesc ON 
   LTRusName.LTStringId = LTRusDesc.LTStringId
     AND  LTRusDesc.LanguageCode = LTRusName.LanguageCode 
     AND LTRusDesc.LTStringType = 2
LEFT OUTER  JOIN
 dbo.LocalizedText AS LTEnuName ON 
   LTRusName.LTStringId = LTEnuName.LTStringId 
     AND  LTEnuName.LTStringType = 1 
     AND LTEnuName.LanguageCode = 'ENU'
LEFT OUTER  JOIN
 dbo.LocalizedText AS LTEnuDesc ON 
  LTRusName.LTStringId = LTEnuDesc.LTStringId 
    AND  LTEnuDesc.LTStringType = 2 
    AND LTEnuDesc.LanguageCode = 'ENU'

Чтобы получить одно значение, достаточно добавить в запрос условие отбора:

SELECT 
	LTRusName.ElementName, 
	LTEnuName.LTValue as EnuName,
	LTEnuDesc.LTValue as EnuDesc, 
	LTRusName.LTValue as RusName, 
	LTRusDesc.LTValue as RusDesc 
FROM
(SELECT * FROM dbo.LocalizedText where LTStringType = 1 AND LanguageCode = 'RUS') AS LTRusName  
LEFT OUTER  JOIN
 dbo.LocalizedText AS LTRusDesc ON 
   LTRusName.LTStringId = LTRusDesc.LTStringId
     AND  LTRusDesc.LanguageCode = LTRusName.LanguageCode 
     AND LTRusDesc.LTStringType = 2
LEFT OUTER  JOIN
 dbo.LocalizedText AS LTEnuName ON 
   LTRusName.LTStringId = LTEnuName.LTStringId 
     AND  LTEnuName.LTStringType = 1 
     AND LTEnuName.LanguageCode = 'ENU'
LEFT OUTER  JOIN
 dbo.LocalizedText AS LTEnuDesc ON 
  LTRusName.LTStringId = LTEnuDesc.LTStringId 
    AND  LTEnuDesc.LTStringType = 2 
    AND LTEnuDesc.LanguageCode = 'ENU'
WHERE LTRusName.LTValue like 'домен NE%'

В итоге вы получите вот такой результат:

pnl3mh0b

Почему админы не любят локализацию…

Те, кто читает мой блог постоянно, знают, что я в основном пишу технические статьи, посвященные определенным технологиям. Сегодня будет исключение, ибо накипело…

Я уже довольно продолжительное время работаю с таким чудесным продуктом, как System Center Service Manager, и до этого работал только в английской версией продукта. Но в связи с тем, что конечные заказчики в нашей стране предпочитают всё-таки русский язык, вчера я переключился на русскую версию, благо сделать это довольно просто — достаточно установить MUI. И тут меня ждало ТАКОЕ, от чего мне захотелось отписать везде, где только можно.

Тема локализации всплывает часто, но в последнее время в основном она сводится к трактовке терминов, например как перевод слвоа Service и тому подобных. Я уже и забыл, когда последний раз натыкался на явные ляпы в переводе. И вот SCSM, один из первых продуктов, который сразу был переведен на русский язык. Смотрим и видим:
5tr0odgp
На этой картинке мы видим списки (Lists), относящиеся к Запросам на Изменение (Change Requests). Комментарии излишни. Чего и где собрались изменять локализаторы – мне до сих пор не ясно.

И самое обидное, что руководитель группы разработчиков, отвечающих как раз за CR – Владимир Бахметьев, выходец из бСССР. Стыдно, господа. Очень стыдно…