Езикови файлове

Езиковите файлове се използват като източници на текстови данни (ресурси на низове) при генериране на известия, показване на текстови съобщения или вмъкване на текстови фрагменти в обработени съобщения. Езиковите файлове се използват главно от компонента Notifier, но могат да се използват и от плъгини (по-специално, модулът Drweb използва текста от този файл, за да вмъкне съобщение в имейл вместо злонамерен прикачен файл, премахнат от него). Пътят до директорията, където се съхраняват използваните езикови файлове, трябва да бъде еднакъв както за компонента Notifier, така и за добавките. Пътят до използваната директория с езикови файлове е посочен в параметъра LngBaseDir в секцията [Notifier] на основния конфигурационен файл.

Езиковите файлове имат име, образувано на принципа [

– име на приставката, която използва този езиков файл като източник на низ (drweb, модификатор и т.н.)

• – име на езика, на който са съставени текстовите низове, съхранявани във файла.

Езиковите файлове, използвани директно от компонента Notifier, нямат префикс в името си

Езиковият файл има следната вътрешна структура:

• Първият ред показва съкратеното име на езика, на който са съставени всички текстове във файла (en, ru и др.).

• Вторият ред съдържа името на използваното кодиране (например koi8-r).

• В третия ред – индикация на използвания CTE бит за кодиране (7bit или 8bit).

• Останалата част от файла се състои от редове под формата N="text" , където N е номерът (идентификатор) на текста, а text е използвания текст.

Параметърът NotifyLangs в секцията [Notifier] използва само езиковите обозначения, които са взети от първия ред на езиковите файлове.

Примерезиков файл:

#language name = LANG en #coding system = CHARSET UTF8 #Content-Transfer-Encoding: 7bit/8bit 8bit 1 = "ОК" 2 = "защитено с парола, пропуснато" .

Всички добавки използват в своята работа само езиковия файл, който е посочен първи в списъка NotifyLangs. В този случай, за търсене на необходимия низ (в случай на обработка на извикването на макроса за вмъкване на низ $n, например по време на действието за добавяне на заглавка), винаги се изпълнява следният алгоритъм:

1) Определя се директорията, съдържаща езиковите файлове (използва се стойността на параметъра LngBaseDir);

2) Първият използван език се определя от списъка, посочен в стойността на параметъра NotifyLangs;

3) Търси се файл, в името на който има префикс с името на приставката, а първият ред отговаря на съкратеното име на използвания език;

4) Ако се намери такъв файл, той търси ред с необходимия номер n от лявата страна. Това предполага, че съдържанието на този низ е кодирано с помощта на кодирането и CTE, посочени в заглавката на този езиков файл.

Намереният низ ще бъде използван при обработката на писмото (добавен като текст към писмото или към заглавката, в зависимост от действието, извършено от модула), докато ще се използват кодирането и CTE, посочени в заглавката на езиковия файл, от който е извлечен низът.

Ако необходимият файл не бъде намерен или ако редът с необходимия номер не бъде намерен в него, тази ситуация ще бъде погрешна и ще бъде обработена според стойността на параметъра ProcessingErrors в секцията [Maild] на основния конфигурационен файл.

Ако е необходимо, можете да добавите свои собствени редове към езиковите файлове. В този случай трябва да се уверите, че добавените редове:

• Неизползва числата, които вече са използвани в този файл, тъй като редовете с тези номера вече се използват от някои модули Dr.Web MailD (или добавка) .

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