Столкнулся недавно с забавным вопросом – как сделать так, чтобы автоответы от переговорных комнат были на определённом языке? Первый пришедший в голову ответ – выставить в региональных настройках ящика нужный язык – оказался неверным.
Set-Mailbox RoomMailbox -Languages en-US
Часть пользователей продолжила получать ответы на русском языке, часть на английском.
Возникла идея, что при обработке писем Resource Booking Attendant использует какие-то параметры входящего письма, в которых может быть указан язык, который использует клиент. После недолгого поиска это свойство нашлось:
Согласно [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 соответствующим образом менялся язык ответов переговорной комнаты.
При изменении языка интерфейса Outlook эффект был аналогичным. Но есть одна тонкость – если у нас имеется установленный Language Pack, то Outlook может пытаться выставить язык интерфейса исходя из региональных настроек ОС:
Похоже, что язык интерфейса 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