Spis Treści
Dodanie pl_PL.UTF-8 do squirrerlmail
functions/i18n.php
Dodać następujący kod:
$languages['pl_PL.UTF-8']['NAME'] = 'Polish (UTF-8)';
$languages['pl_PL.UTF-8']['CHARSET'] = 'utf-8';
$languages['pl_PL.UTF-8']['LOCALE'] = array('pl_PL.UTF-8','pl_PL.UTF8');
$languages['pl.UTF-8']['ALIAS'] = 'pl_PL.UTF-8';
locale/
cd /usr/local/www/squirrelmail/locale/
cp -pR pl_PL pl_PL.UTF-8
for f in `ls pl_PL/LC_MESSAGES/ | grep .po`; do iconv -f latin2 -t utf-8 pl_PL/LC_MESSAGES/$f > pl_PL.UTF-8/LC_MESSAGES/$f; done
cd pl_PL.UTF-8/LC_MESSAGES/
perl -pi -e 's/(ISO|iso)-8859-2/utf-8/;' *.po
# kompilacja plików tłumaczeń
for f in `ls *.po`; do m=`echo $f|sed -e's/\.po/.mo/'`; msgfmt $f -c -o $m; done
Może się zdarzyć, że wystąpi błąd kompilacji plików .po z powodu braku linijki "Language". Wtedy w plikach trzeba dopisać następujący kod:
"Language: Polish\n"
UWAGA! Ważny jest znak końca linii!!!
for f in `ls *.po`; do vi $f; done
locale/pl_PL.UTF-8/setup.php
Zmodyfikować następujący kod:
$languages['pl_PL.UTF-8']['NAME'] = 'Polish';
$languages['pl_PL.UTF-8']['ALTNAME'] = 'Polski';
$languages['pl_PL.UTF-8']['CHARSET'] = 'UTF-8';
$languages['pl_PL.UTF-8']['LOCALE'] = array('pl_PL.UTF-8','pl_PL.UTF8');
$languages['pl']['ALIAS'] = 'pl_PL.UTF-8';
config.php
W pliku config.php zmienić ustawienia języka na pl_PL.UTF-8 (edytor lub skrypt configure).
Dodatkowe patche na maile kodowane w ISO-8859-2
Dotyczy wersji squirrelmail-20131229_1 (być może nowszych) oraz php 5.3+ . Włączenie kodowania UTF-8 bardzo fajnie działa, ale jest problem z mialami, które mają w temacie kodowanie =iso-8859-2 - nie wyświetla się temat, zatem nie ma jak zobaczyć co to za email. Na szczęście udało się znaleźć poprawki (patche):
wget --no-check-certificate https://sourceforge.net/p/squirrelmail/bugs/_discuss/thread/feebafb3/f30a/attachment/quoted_printable_fix2-1.4.x.diff -O /root/quoted_printable_fix2-1.4.x.diff
wget --no-check-certificate https://sourceforge.net/p/squirrelmail/bugs/_discuss/thread/feebafb3/45e4/attachment/i18n-encodings-patch.diff -O /root/i18n-encodings-patch.diff
# zmiana katalogu
cd /usr/local/www/squirrelmail
# /latanie odpowiednich plik/ow
patch -p0 < /root/quoted_printable_fix2-1.4.x.diff
patch -p0 < /root/i18n-encodings-patch.diff
Dzięki temu wszystko działa ponownie poprawnie.
A jeszcze kodowanie windows-1257
W logach z komputera Windows 8 pojawiają się błędy odnośnie do kodowania Windows-1257. Powinien pomóc poniższy patch:
--- functions/strings.php 2014-04-01 11:08:57.845652680 +0200
+++ functions/strings.php.20140416 2014-04-16 09:19:56.776651872 +0200
@@ -1229,6 +1229,7 @@
'windows-1251',
'windows-1255',
'windows-1256',
+ 'windows-1257',
'tis-620',
'iso-2022-jp',
'euc-cn',
@@ -1508,6 +1509,7 @@
'cp866', 'ibm866', '866' ,
'cp1251', 'Windows-1251', 'win-1251', '1251',
'cp1252', 'Windows-1252', '1252',
+ 'cp1257', 'Windows-1257', '1257',
'KOI8-R', 'koi8-ru', 'koi8r',
'BIG5', '950',
'GB2312', '936',
Patch powinien poprawić błędy odnośnie do błędów php:
PHP Warning: mb_check_encoding(): Invalid encoding "windows-1257"
Konfiguracja pluginów
plugins/login_notes/config.php
Jeżeli plugin jest aktywowany, to należy odpowiednio poprawić plik konfiguracyjny:
cp plugins/login_notes/config.sample.php plugins/login_notes/config.php.latin2
# edycja wiadomości do użytkowników plugins/login_notes/config.php.latin2
iconv -f latin2 -t utf-8 plugins/login_notes/config.php.latin2 > plugins/login_notes/config.php
plugins/timeout_user
Domyślnie nie ma pliku config.php. Trzeba go stworzyć na podstawie pliku instalacyjnego:
cd /usr/local/www/squirrelmail
cp plugins/timeout_user/config.php.sample plugins/timeout_user/config.php
A następnie dokonać edycji na własne potrzeby
plugins/avelsieve
Domyślnie nie ma pliku config.php. Trzeba go stworzyć na podstawie pliku instalacyjnego:
cd /usr/local/www/squirrelmail
cp plugins/avelsieve/config/config_sample.php plugins/avelsieve/config/config.php
A następnie dokonać edycji na własne potrzeby:
--- plugins/avelsieve/config/config_sample.php 2006-07-24 15:48:27.000000000 +0200
+++ plugins/avelsieve/config/config.php 2014-03-31 03:10:17.370651860 +0200
@@ -38,7 +38,7 @@
/* Port where timsieved listens on the Cyrus IMAP server. Default is 2000. */
global $sieveport;
-$sieveport = 2000;
+$sieveport = 4190;
/**
* @var string Space separated list of preferred SASL mechanisms for the
@@ -64,7 +64,7 @@
* Cyrus 2.3+ : $from$, $env-from$, $subject$, $text$, $text[n]$
*/
global $avelsieve_oldcyrus;
-$avelsieve_oldcyrus = true;
+$avelsieve_oldcyrus = false;
/* If you have Cyrus with an lmtpd that can understand the "auth" argument to
* the :envelope test as the SMTP/LMTP auth, or any other Sieve implementation,
@@ -131,7 +131,7 @@
* mailAlternate & mailAuthorized) from LDAP Prefs Backend plugin's cache */
global $avelsieve_ldapuserdatamode;
-$avelsieve_ldapuserdatamode = false;
+$avelsieve_ldapuserdatamode = true;
/** @var array Map of cyrus administrator users, for proxy authentication */
