Hatchet
Я у себя делаю так:
языковые файлы russian.lng и english.lng пишу в виде:
$txt[0] = "текст 1";
$txt[1] = "текст 2";
...
$txt[n] = "текст n";
соответственно $txt[0] русского файла соответствует $txt[0] английского
в шаблоне вместо всего текста подставляю %txt0%, %txt1%, ... %txtn%
Потом в скрипте, в зависимости от выбранного языка подгружаю соответствующий lng, а в шаблон произвожу замену %txt0% -> $txt[0] и вывожу на экран:
@temp - твой шаблон...
foreach $line (@temp) {
$line =~s /%txt([0-9]*)%/$txt[$1]/gi;
}
print "Content-type: text/html; charset=windows-1251\\n\\n";
print qq "@temp";