Езикови файлове
Езиковите файлове се използват като източници на текстови данни (ресурси на низове) при генериране на известия, показване на текстови съобщения или вмъкване на текстови фрагменти в обработени съобщения. Езиковите файлове се използват главно от компонента 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, посочени в заглавието на езиковия файл.