Дело о бронировании переговорки

Столкнулся недавно с забавным вопросом – как сделать так, чтобы автоответы от переговорных комнат были на определённом языке? Первый пришедший в голову ответ – выставить в региональных настройках ящика нужный язык – оказался неверным.

Set-Mailbox RoomMailbox -Languages en-US

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

Возникла идея, что при обработке писем Resource Booking Attendant использует какие-то параметры входящего письма, в которых может быть указан язык, который использует клиент. После недолгого поиска это свойство нашлось:

picture1

Согласно [MS-OXCMSG], оно должно заполняться значением из региональных настроек клиента, а именно LCID – language code identifier:

2.2.1.5 PidTagMessageLocaleId Property
Type: PtypInteger32, unsigned
Contains the language code identifier (LCID) of the end-user who created this message. 
For more details see [MS-LCID].

Тут возник очередной вопрос – откуда именно берётся значение LCID? Очевидно, что региональные настройки операционной системы особой роли не играют. Все пользователи находятся в одном регионе, все используют одинаковые региональные настройки в ОС. При этом, часть из них получает ответы от переговорки на русском языке, а часть – на английском.

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

При изменениии языка интерфейса в OWA соответствующим образом менялся язык ответов переговорной комнаты.

picture2

При изменении языка интерфейса Outlook эффект был аналогичным. Но есть одна тонкость – если у нас имеется установленный Language Pack, то Outlook может пытаться выставить язык интерфейса исходя из региональных настроек ОС:

picture3

Похоже, что язык интерфейса Outlook хранит в одном (или сразу обоих) ключах реестра:

Key: HKEY_CURRENT_USERSoftwareMicrosoftOfficeXX.0Outlook
Value: LastUILanguage
Data Type: REG_DWORD
Data (hex): <LCID Code in Hex>
Key: HKEY_CURRENT_USERSoftwareMicrosoftOfficeXX.0CommonLanguageResources
Value: UILanguage
Data Type: REG_DWORD
Data (hex): <LCID Code in Hex>

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

Полезные ссылки:
PidTagMessageLocaleId Canonical Property
App-V: Adding Additional Languages to Office 2010 Packages (… and pre-setting the Outlook Default Language)
Exchange 2003 Out of office assistant subject language

Leave a Reply

Your email address will not be published. Required fields are marked *