Мовні файли

Мовні файли використовуються як джерела текстових даних (рядкових ресурсів) при формуванні повідомлень, виведенні текстових повідомлень або вставці текстових фрагментів в листи, що обробляються. Мовні файли використовуються в основному компонентом Notifier , але також можуть використовуватися модулями (зокрема модуль Drweb використовує текст з цього файлу для вставки повідомлення в лист замість видаленого з нього шкідливого вкладення). Шлях до каталогу, в якому зберігаються мовні файли, повинен бути одним і тим же як для компонента Notifier , так і для модулів . Шлях до каталогу з мовними файлами вказується в параметрі LngBaseDir в секції [Notifier] основного конфігураційного файлу.

Мовні файли мають ім'я, утворене за принципом [

- ім'я модуля, що підключається, використовує цей мовний файл як джерело рядків (drweb, modifier і т.п.)

• – назва мови, на якій складені текстові рядки, що зберігаються у файлі.

Мовні файли, що використовуються безпосередньо компонентом Notifier, не мають у своїй назві приставки

Мовний файл має таку внутрішню структуру:

• У першому рядку вказується скорочена назва мови, на якій складені всі тексти, що містяться у файлі (en, ru тощо).

• У другому рядку – назва кодування, що використовується (наприклад, koi8-r).

• У третьому рядку – вказівка ​​на бітність кодування CTE (7bit або 8bit).

• Частина файлу, що залишилася, складається з рядків виду N="текст" , де N – номер (ідентифікатор) тексту, а текст – використовуваний текст.

У розділі NotifyLangs у розділі [Notifier] використовуються лише позначення мови, які беруться з першого рядка мовних файлів.

прикладмовного файлу:

#language name = LANG en #coding system = CHARSET UTF8 #Content-Transfer-Encoding: 7bit/8bit 8bit 1 = "OK" 2 = "password protected, skipped" .

Всі модулі, що підключаються, використовують у своїй роботі тільки той мовний файл, який вказаний першим у списку NotifyLangs. При цьому для пошуку необхідного рядка (у разі обробки виклику макросу вставки рядка $n, наприклад, при дії add-header) завжди виконується наступний алгоритм:

1) Визначається каталог, який містить мовні файли (використовується значення параметра LngBaseDir);

2) Визначається перша використовувана мова зі списку, вказаного у значенні параметра NotifyLangs;

3) Шукається файл, в імені якого є префікс з ім'ям модуля, що підключається, а перший рядок відповідає скороченому назві використовуваної мови;

4) Якщо такий файл знайдено, то в ньому шукається рядок із необхідним номером n у лівій частині. При цьому передбачається, що вміст цього рядка закодовано за допомогою кодування та CTE, зазначених у заголовку цього мовного файлу.

Знайдений рядок буде використаний при обробці листа (доданий як текст у лист або в заголовок, залежно від вчиненого модулем дії), при цьому будуть використані кодування та CTE, зазначені в заголовку мовного файлу, з якого було вилучено рядок.

Якщо потрібний файл не буде знайдений або в ньому не буде знайдено рядок із потрібним номером, ця ситуація буде помилковою і оброблятиметься відповідно до значення параметра ProcessingErrors у секції [Maild] основного конфігураційного файлу.

При необхідності ви можете додати свої рядки до мовних файлів. При цьому потрібно стежити, щоб додані рядки:

• невикористовували вже зайняті в цьому файлі номери, оскільки рядки з цими номерами вже використовуються якимись модулями Dr.Web MailD (або модулем, що підключається) .

• використовували кодування та бітність CTE, зазначені у заголовку мовного файлу.