Jeśli jesteś właścicielem tej strony, możesz wyłączyć reklamę poniżej zmieniając pakiet na PRO lub VIP w panelu naszego hostingu już od 4zł!

Str. główna i mapa serwisu

Konfiguracja programu XanaNews do prawidłowej obsługi języka polskiego i dostosowanie do pracy wielojęzycznej

Spis treści:

  1. Wprowadzenie i uwagi ogólne
  2. Poziomy konfiguracji
  3. Ustawienie domyślnego kodowania wysyłanych postów
  4. Ustawienie domyślnego kodowania wyświetlanych postów nie zawierających deklaracji charsetu
  5. Inne ważne ustawienia
  6. Wrotka
  7. Podpisy
  8. Sprawdzanie pisowni
  9. Dodawanie własnych nagłówków
  10. Ustawienia czcionek
  11. Bugi i niedoróbki
  12. Dodatek: wyświetlenie dowolnego nagłówka
  13. Gdzie i kiedy nie używać polskich liter (ani innych znaków narodowych lub specjalnych)
  14. Linki

Taki znaczek: link do str. zewnętrznej przy odsyłaczu oznacza, że odsyłacz prowadzi do strony zewnętrznej.
A taki znaczek: link prowadzi do podstrony — że odsyłacz prowadzi do innej strony w tym serwisie.

1. Wprowadzenie i uwagi ogólne

XanaNews potrafi wyświetlić wysłać post w każdym obecnie legalnym kodowaniu (w ISO-8859-2, UTF-8 i wielu innych, w tym większości z rodziny ISO-8859), ale nie potrafi dobrać automatycznie odpowiedniego kodowania ani nie ostrzega przed tym, że w treści są znaki spoza wybranego kodowania. Litery łacińskie ze znakami diakrytycznymi spoza charsetu zostaną pozbawione diakrytyków, a inne znaki spoza charsetu zamienione na znaki zapytania. Przy odpowiadaniu program używa kodowania postu, na które odpowiada (w przypadku kodowania niezrozumiałego dla programu, np. ISO-8859-16 czy X-MacRoman, używa US-ASCII).

Z powodu użycia jakiejś kontrolki Windows nie obsługuje kodowania ISO-8859-16 ani ISO-8859-13 (to ostatnie prawdopodobnie obsługuje, gdy jest zainstalowany na Windows XP SP2, nawet instalacja obsługi ISO-8859-13 link prowadzi do podstrony w systemach Windows 2000 ani XP bez SP2 nie dodaje obsługi tego kodowania w programie. Nie ma też możliwości wyboru kodowania automatycznego (deklarowanego), które by przywróciło samoczynnie charset deklarowany w nagłówku po ręcznej jego zmianie. Używane są również nazwy kodowań wprowadzone przez MS, listę nazw kodowań i odpowiadających im charsetów można znaleźć na stronie kodowań obsługiwanych przez OE link prowadzi do podstrony.

Program stosuje charset deklarowany dla treści również do tematu i nadawcy, co skutkuje pokazaniem krzaków, gdy w wyświetlanym liście są one różne (np. temat w ISO-8859-2, a treść w UTF-8).

Z uwagi na powyższe problemy z kodowaniami jedyna możliwość sensownego użycia programu to ustawienie na stałe kodowania UTF-8 i używanie go w połączeniu z MIME-Proxy link prowadzi do podstrony.

Ciekawostką jest, że w przypadku wysłania artykułu kodowanego US-ASCII program nie wstawia żadnej deklaracji charsetu. Jest to zachowanie prawidłowe — RFC 2046 link do str. zewnętrznej w p. 4.1.2 stwierdza, że brak deklaracji charsetu jest równoznaczny z deklaracją US-ASCII.

Program działa na systemach Windows 98 (w tym SE), ME, 2000 i XP, ma licencję freeware i dostępne są źródła programu. Dostępny jest wyłącznie w angielskiej wersji językowej.

2. Poziomy konfiguracji

Program umożliwia wprowadzenie pewnych ustawień na poziomie globalnym (będą się stosować do wszystkich postów), na poziomie serwera (będą się stosować do postów wysyłanych i odbieranych z danego serwera) oraz na poziomie grupy dyskusyjnej (będą się stosować do postów wysyłanych i odbieranych z danej grupy dyskusyjnej:

  1. Okno preferencji globalnych (i wielu ustawień, które mogą być ustawione wyłącznie globalnie) otwiera się z menu Tools ⇒ Options
  2. Okno preferencji dla danego serwera otwiera się na jeden z trzech sposobów:
  3. Okno preferencji dla danej grupy dyskusyjnej otwiera się na jeden z dwóch sposobów:

Należy pamiętać o kolejności wprowadzania ustawień — ustawienie jakiejś opcji na wyższym poziomie zmieni tę opcję ustawioną na niższych poziomach, np. zmiana domyślnego kodowania dla serwera spowoduje, że wybrane kodowanie zostanie również ustawione jako domyślne dla wszystkich grup dyskusyjnych na tym serwerze.

3. Ustawienie domyślnego kodowania wysyłanych postów

  1. Globalnie — dla wszystkich wysyłanych postów: otworzyć okno opcji globalnych, w nim rozwinąć Default settings, zaznaczyć Posting settings i wybrać żądany charset z listy rozwijanej Default character set.
  2. Dla danego serwera — ustawione kodowanie zostanie domyślnie użyte dla wszystkich postów wysyłanych na dowolną grupę dyskusyjną na danym serwerze: otworzyć okno opcji serwera, w nim rozwinąć Derived settings, zaznaczyć Posting settings i wybrać żądany charset z listy rozwijanej Default character set.
  3. Dla danej grupy: otworzyć okno opcji grupy dyskusyjnej, w nim rozwinąć rozwinąć Derived settings, zaznaczyć Posting settings i wybrać żądany charset z listy rozwijanej Default character set.

W oknie kompozycji jest też możliwość zmiany kodowania obecnie pisanego listu przez wybór nowego kodowania z listy rozwijanej.

4. Ustawienie domyślnego kodowania wyświetlanych postów nie zawierających deklaracji charsetu

  1. Globalnie — dla wszystkich wyświetlanych postów: otworzyć okno opcji globalnych, w nim rozwinąć Default settings, zaznaczyć User preferences i wybrać żądany charset z listy rozwijanej Default character set for message display.
  2. Dla danego serwera — ustawione kodowanie zostanie domyślnie użyte dla wszystkich postów wysyłanych na dowolną grupę dyskusyjną na danym serwerze: otworzyć okno opcji serwera, w nim rozwinąć Derived settings, zaznaczyć User preferences i wybrać żądany charset z listy rozwijanej Default character set for message display.
  3. Dla danej grupy: otworzyć okno opcji grupy dyskusyjnej, w nim rozwinąć rozwinąć Derived settings, zaznaczyć User preferences i wybrać żądany charset z listy rozwijanej Default character set for message display.

Dla obecnie wyświetlanego listu można wybrać też ręcznie kodowanie z listy rozwijanej obecnej na belce nad oknem podglądu treści.

5. Inne ważne ustawienia

Pewne ustawienia istotne dla technicznej poprawności wysyłanych listów wprowadza się w Default settings ⇒ Posting settings:

  1. Zawijanie linii: globalne ustawienie wprowadza się w polu Maximum line length. Zalecana ilość znaków w linii to ok. 72.
  2. Kodowanie transportowe: Text format: NNTP, ewentualnie MIME - Raw. Nie ma znaczących różnic w formacie artykułów wysyłanych z użyciem jednego z tych ustawień — w obu wypadkach znaki spoza US-ASCII w treści wysyłane są w postaci 8-bitowej (pod warunkiem użycia kodowania, które pozwala na przesłanie tych znaków), a nagłówki kodowane w QP. Jedynie w przypadku wysłania listu kodowanego US-ASCII jest drobna różnica — w przypadku NNTP nie jest dodawany żaden nagłówek deklarujący kodowanie (co jest prawidłowym zachowaniem), zaś w przypadku użycia MIME - Raw dodany będzie nagłówek MIME-Version: 1.0 i szczątkowa deklaracja typu MIME w postaci Content-Type: text/plain. W przypadku wysyłania artykułów tekstowych marginalnie lepsze ustawienie to NNTP, w przypadku wysyłania artykułów z załącznikami (na specjalne grupy binarne) zależy to od zwyczajów na grupie, gdyż NNTP koduje załączniki w standardzie UUEncode, a MIME - Raw — MIME. Wybór MIME - Quoted-Printable spowoduje, że znaki spoza US-ASCII w treści wysyłane będą w postaci zakodowanej Quoted-Printable. Kodowanie to jest najzupełniej legalne i dopuszczone do stosowania, ale nie jest zalecane, gdyż OE nie potrafi prawidłowo odpowiedzieć na list z treścią zakodowaną QP. Ostatnia możliwość — MIME - Flowed powoduje wysyłanie listów ze znakami spoza US-ASCII w treści w postaci 8-bitowej (jak MIME - Raw) i dodatkowo w formacie format=flowed.
  3. Odpowiadanie pod cytatem: Reply style: koniecznie zaznaczyć Reply at bottom, drugie ustawienie spowoduje wstawienie podpisu nad zacytowaną treścią.

Analogiczne opcje dostępne są dla serwerów i dla grup, ale prawie na pewno nie będzie potrzeby dokonywania zmian powyższych ustawień.

6. Wrotka

We wrotce znaki spoza US-ASCII nie są prawidłowo obsługiwane (tekst wrotki jest wklejany na żywca i musi używać takiego kodowania, jakie zostanie użyte dla danego listu). Nie można we wrotce używać znaków spoza US-ASCII, jeżeli zamierza się wysyłać listy w różnych kodowaniach. Znaki spoza US-ASCII we wrotce muszą być już w docelowym kodowaniu wysyłanego listu.

  1. Globalnie: Default settings ⇒ Quoting settings, wpisać tekst wrotki w Start quote with. Poniżej w tym oknie jest też ściaga z nazwami parametrów, które można wykorzystać w tworzeniu wrotki (typu data, imię i nazwisko przedpiścy oraz jego e-mail, Message-ID posta, na który się odpowiada itp.).
  2. Dla danego serwera: Derived settings ⇒ Quoting settings, wpisać tekst wrotki w Start quote with.
  3. Dla danej grupy: Derived settings ⇒ Quoting settings, wpisać tekst wrotki w Start quote with.

W tym samym miejscu można też wybrać znacznik cytowania — zgodnie z netykietą używa się wyłącznie znaku większości, czyli >!

7. Podpisy

Można mieć dowolną ilość tożsamości i każdej przypisać osobny podpis. Podpis definiuje się w oknie konfiguracji tożsamości — można wpisać podpis albo podać ścieżkę do pliku tekstowego z podpisem. Można też we właściwościach grupy w Derived settings ⇒ User Preferences, w polu Signature to use in preference to the one in your identity przypisać podpis (ścieżkę do pliku z podpisem), wówczas każdy post na daną grupę, niezależnie od wybranej tożsamości, będzie zawierał ten wybrany podpis. Program sam dodaje prawidłowy delimiter podpisu.

8. Sprawdzanie pisowni

Program używa Ispell-a LS-Distribution do sprawdzania pisowni. Po instalacji Ispell-a (i co najmniej jednego słownika — instalator w trybie użytkownika pozwala na wybór, jaki słownik chce się zainstalować) można wybrać domyślny język sprawdzania pisowni:

  1. Globalnie: rozwinąć Default settings, zaznaczyć Posting settings i wybrać żądany język z listy rozwijanej Default Ispell language.
  2. Dla danego serwera: rozwinąć Derived settings, zaznaczyć Posting settings i wybrać żądany język z listy rozwijanej Default Ispell language.
  3. Dla danej grupy: rozwinąć Derived settings, zaznaczyć Posting settings i wybrać żądany język z listy rozwijanej Default Ispell language.

W wersji 1.17.x.x ustawienie języka było obecne na User Preferences.

Gdy zainstalowało się tylko jeden słownik, ten słownik zostanie automatycznie wybrany przez XanaNews.

W oknie kompozycji nie ma możliwości doraźnej zmiany języka, choć zwykle wystarcza możliwość ustawienia języka sprawdzania pisowni osobno dla każdej grupy (na typowej grupie dyskusyjnej, z wyjątkiem grup dyskusyjnych zajmujących się tłumaczeniami, zazwyczaj pisze się w jednym języku).

Instalacja słownika powoduje, że w oknie kompozycji domyślnie zostaje zaznaczona klatka automatycznego sprawdzania pisowni przed wysłaniem Check spelling. Można też w dowolnym momencie sprawdzić pisownię klikając na przycisk Check now. Można trwale wyłączyć automatyczne sprawdzanie pisowni przy otwierając okno opcji globalnych, zaznaczając Message pane i usuwając zaznaczenie z klatki Check spelling.

Instalator Ispell-a ze słownikiem języka polskiego można ściągnąć z następującego odsyłacza: www.luziusschneider.com/Speller/ISpCaPlHeLa.exe link do str. zewnętrznej (licencja: freeware; wymagany MS Installer). Pakiet zawiera również słowniki języka katalońskiego, hebrajskiego i łaciny, przeciętnie warto więc zainstalować pakiet w trybie użytkownika i wybrać, które słowniki chce się zainstalować. Pakiety ze słownikami dla innych języków można znaleźć na stronie www.luziusschneider.com/Speller/English/index.htm link do str. zewnętrznej.

Słownik języka polskiego ma wadę: ma problemy z odmianą, nie potrafi odmienić słowa (odrzucając jeden przyrostek i zastępujac go innym) ani zmieniać tematu słowa na oboczny, przez co proponuje np. zmianę słowa znudzone na znudzony-y+e albo kostce na kostka-ka+ce.

9. Dodawanie własnych nagłówków

Znaki spoza US-ASCII w dodanych nagłówkach nie będą prawidłowo zakodowane — zostaną zakodowane jako QP, ale w kodowaniu Windows, mimo dodania znacznika kodowania wybranego dla danego postu. Nie używaj w nagłówkach polskich liter ani innych znaków spoza US-ASCII. Osoby zaawansowane mogą natomiast wstawić nagłówek już zakodowany jako kompletny ciąg QP lub Base64 (już ze znacznikiem charsetu i kodowania), który zostanie prawidłowo wysłany (bez żadnych zmian).

  1. Globalnie: Default settings ⇒ Posted Message Headers, obok Extra headers kliknąć Modify… i w nowo otwartym oknie wpisać kompletny nagłówek, jaki chce się wysyłać w każdym artykule.
  2. Dla danego serwera: Derived settings ⇒ Posted message headers, obok Extra headers kliknąć Modify… i w nowo otwartym oknie wpisać kompletny nagłówek, jaki chce się wysyłać w każdym artykule wysyłanym na każdą grupę dyskusyjną na tym serwerze.
  3. Dla danej grupy dyskusyjnej: Derived settings ⇒ Posted message headers, obok Extra headers kliknąć Modify… i w nowo otwartym oknie wpisać kompletny nagłówek, jaki chce się wysyłać w każdym artykule wysyłanym na tę grupę dyskusyjną.
  4. Jednorazowo: W oknie kompozycji posta kliknąć na Advanced… i w nowo otwartym oknie wpisać kompletny nagłówek, jaki chce się dodać.

10. Ustawienia czcionek

Domyślnie ustawione są prawidłowe czcionki (czyli unikodowe, dodatkowo dla treści wyświetlanych artykułów i dla okna kompozycji są wybrane czcionki o stałej szerokości) i jako takie nie wymagają zmian, by poprawnie widzieć treść postów.

11. Bugi i niedoróbki

Oprócz wymienionych wyżej, program ma (kolejne…) wady:

1. Na belce nad oknem podglądu treści czytanego posta temat wyświetlany jest nieprawidłowo. W bardzo wielu wypadkach w temacie w miejscu liter spoza US-ASCII widać albo znaki zapytania, albo litery łacińskie pozostałe po obcięciu oryginalnie istniejących ogonków. Temat w kodowaniu ISO-8859-1 i ISO-8859-15 jest zaś wyświetlany tak, jakby był kodowany Windows-1250 (na komputerze z locale środkowoeuropejskim — zapewne ustawienie innego locale da w efekcie inne kodowanie Windows, np. locale bałtyckie da WIndows-1257).

2. Innym bugiem jest podatność na bug „begin” — gdy program w artykule napotka na ciąg w nowej linii składajacy się ze słowa begin, spacji, trzech cyfr (z pewnego zakresu) i spacji (po spacji może być ciąg znaków, który przez program będzie zinterpretowany jako nazwa załączonego pliku), nie wyświetli treści począwszy od tej linii aż do wystąpienia ”end„ w osobnej linii lub do końca artykułu.

3. Kolejny bug to łamanie nagłówka zakodowanego w UTF-8 w nieprawidłowym miejscu. Znaki spoza US-ASCII zakodowane w UTF-8 reprezentowane są przez dwa lub więcej bajtów i RFC 2047 link do str. zewnętrznej p.5 zabrania takiego łamania linii, by ciąg bajtów opisujący jeden znak znalazł się częściowo w jednej, a częsciowo w drugiej linii. Co ciekawe, XanaNews napotykając tak nieprawidłowo złamany nagłówek wyświetla krzaki.

4. Gdy wyświetlana wiadomość ma długi temat zawierający ogonki i został on prawidłowo zakodowany i podzielony na linie (zgodnie ze standardem, który nie pozwala, by zakodowana linia przekraczała pewną ilość znaków), program nie dekoduje drugiej i następnych linii.

5. Program automatycznie zawija linie w edytorze po określonej liczbie znaków, ale w rzeczywistości ustawiona liczba to liczba bajtów, nie znaków. W przypadku kodowań 8-bitowych (US-ASCII, wszystkie ISO-8859 i KOI8) nie ma to znaczenia, ale w przypadku użycia kodowania wielobitowego, np. UTF-8, w zależności od języka linie będą w rzeczywistości krótsze o między kilka znaków a ponad połowę od ustawionej wartości.

6. Program ma też problem z kolorowaniem wiadomości, która jest zakodowana UTF-8, nie zawiera linków ani cytatów i w oknie podglądu wyświetlane są nagłówki.

7. W przypadku załączenia załącznika program nieprawidłowo deklaruje dla niego typ MIME application/octet-stream, przez co załącznik jest niewidoczny w oknie podglądu w wielu innych klientach news, które przestrzegają protokołów internetowych.

Z uwagi na wszystkie wyżej wymienione wady uważam, że XanaNews nie jest dobrym programem i odradzam używanie go, szczególnie osobom mniej zaawansowanym oraz leniwym, które nie będą potrafiły lub nie będzie im się chciało wykrywać i naprawiać skutków błędów programu.

12. Dodatek: wyświetlenie dowolnego nagłówka

Program daje możliwość wyświetlenia dowolnych nagłówków (o ile istnieją w wyświetlanym artykule) w panelu podglądu artykułu. Własny zestaw nagłówków można wyświetlić wybierając z menu View ⇒ Headers ⇒ Custom. Aby wybrać, jakie nagłówki mają być wyświetlane, należy otworzyć okno opcji globalnych, rozwinąć Message pane, zaznaczyć Custom headers display i zaznaczyć żądane nagłówki. Jeżeli na liście brak żądanego nagłówka, można kliknąć na Add… i w nowo otwartym oknie wpisać nazwę nagłówka (bez dwukropka na końcu). Nagłówki wyświetlane będą w takiej kolejności, w jakiej występują w wyświetlanym artykule.

13. Gdzie i kiedy nie używać polskich liter (ani innych znaków narodowych lub specjalnych)

Oprócz oczywistej sytuacji, gdy wiemy, że odbiorcy nie życzą sobie lub będą w stanie odczytać polskich (czy innych) liter — np. FAQ grupy zabrania stosowania znaków narodowych — bardzo zalecane jest nieużywanie żadnych takich znaków w nazwach załączników. Spowodowane jest to tym, że znaki spoza US-ASCII mogą być zakodowane na jeden z trzech sposobów:

XanaNews obsługuje wszystkie trzy sposoby, ale wysyła załączniki bez kodowania. Aby odbiorca mógł otworzyć załącznik, jego program musi obsługiwać użytą metodę kodowania. Brak obsługi danego sposobu kodowania u odbiorcy skutkuje zmianą nazwy załącznika — gdy list zawiera kilka załączników z opisem ich zawartości w treści, jest to bardzo uciążliwe. Innym problemem jest to, że oprócz zmiany nazwy pliku często zmieniane jest też rozszerzenie (na nic nie mówiące .dat, .att lub .bin), z czym mniej zaawansowany odbiorca sobie nie poradzi. Dodatkowo, nawet gdy program odbiorcy obsługuje metodę kodowania użytą przez nadawcę, w przypadku metod RFC dodatkowo jego system operacyjny i aplikacje używane do otwierania tego typu plików muszą obsługiwać znaki użyte w nazwie. Z kolei w przypadku załączników wysłanych bez kodowania nazwy (tryb Raw) znaki spoza US-ASCII w nazwie mogą zostać wyświetlone w przypadkowym kodowaniu (np. kodowaniu systemowym lub ISO-8859-1), skutkiem czego w nazwie będą krzaki. Nie istnieje proste, w pełni skuteczne rozwiązanie powyższych ograniczeń, jedyny sposób, który na 100% zadziała u wszystkich, to użycie wyłącznie znaków US-ASCII w nazwie załącznika.

Należy również pamiętać, że niektóre formaty plików co prawda pozwalają na umieszczenie w treści znaków narodowych, ale nie przenoszą informacji o użytym kodowaniu, przez co w wypadku przesłania takiego pliku jako załącznik u odbiorcy znaki narodowe mogą się nie wyświetlić prawidłowo. Najbardziej powszechny przykład to pliki tekstowe (o rozszerzeniu .txt). W typowym systemie Windows plik taki otwierany jest w systemowym Notatniku, w którym zawsze używane jest kodowanie systemowe i nie ma żadnej możliwości zmiany kodowania treści. Znaki narodowe będą pokazane prawidłowo tylko w sytuacji, gdy komputer odbiorcy używa tego samego kodowania systemowego, którego używa komputer nadawcy. Kodowanie systemowe zależy od locale systemowego (w przypadku korespondencji z osobami przebywającymi w innych krajach należy założyć, że locale nadawcy i odbiorcy będzie się różnić) oraz używanego systemu operacyjnego. Przed przesłaniem takiego załącznika należy się upewnić, że odbiorca będzie mógł zobaczyć znaki narodowe w treści.

14.Linki

Rozwiązania przetestowane na programie XanaNews w wersjach 1.17.6.6 i 1.18.1.3 pod Windows 2000 SP4 English.

licznik

© Marcin Frankowski. Wszelkie prawa zastrzeżone. Użycie tekstu lub grafiki do jakichkolwiek celów innych niż prywatne oglądanie wymaga pisemnego pozwolenia autora.