Fedora 28: Nowości dla użytkowników czeskich, katalońskich, greckich i litewskich

Fedora 28: Nowości dla użytkowników czeskich, katalońskich, greckich i litewskich

Kontynuując mój poprzedni artykuł chciałbym napisać o dalszych poprawkach w obsłudze dat w bibliotece glibc. Zmiany te wejdą do ostatecznego wydania Fedory 28. 29 marca w gałęzi f28 została opublikowana wersja 2.27-8 biblioteki glibc. Wraz z nieopublikowaną wersją 2.27-7 zawiera ona zmiany, umożliwiające poprawne formatowanie dat w językach: czeskim, katalońskim, greckim i litewskim.

Niestety, te poprawki nie zdążyły trafić do opublikowanego ostatnio obrazu ISO Fedory 28 Beta, dlatego użytkownicy wszystkich instalacji Fedory 28 muszą najpierw zaktualizować swój system.

Czeski

Link do Bugzilli: https://sourceware.org/bugzilla/show_bug.cgi?id=22963.

Tu zmiany są najbardziej kontrowersyjne, bo w czasie rozmów ze znajomymi z Czech dostawałem różne odpowiedzi na pytanie, czy w języku czeskim w dacie miesiąc powinien być w dopełniaczu, czy nie. Czy 10 kwietnia to po czesku 10. dubna czy 10. duben? Z powodu tych wątpliwości język czeski nie był uwzględniony przy pierwszym wydaniu biblioteki glibc 2.27 (z 1 lutego). Skoro jednak czeski tłumacz dodał nazwy miesięcy w dopełniaczu do biblioteki glib2 (która ma dostarczać tę samą funkcjonalność w systemach, które nie obsługują nazw miesięcy w dopełniaczu) uznałem, że nie ma sensu dalej czekać.

Podsumowując, krótki komunikat dla użytkowników z Czech: jeśli gdzieś widzicie datę niepoprawnie sformatowaną po czesku, bo nazwa miesiąca powinna być w mianowniku, a jest w dopełniaczu, musicie jak najszybciej w tłumaczeniu programu zamienić specyfikację formatu daty z "%B" na "%OB". Przykro mi z powodu zamieszania, ale inne języki fleksyjne wymagają w tym miejscu dopełniacza. Format "%OB" powstał właśnie do obsługi takich sytuacji, kiedy konieczne jest użycie mianownika.

Przy okazji: prawdopodobnie taki sam problem będzie w języku serbskim i słowackim, ale tam jeszcze żadne zmiany nie zostały wprowadzone. Dobrze by było się zdecydować przed opublikowaniem wersji 2.28 biblioteki glibc, które jest planowanie na 1 sierpnia tego roku, i to nie w ostatniej chwili – najlepiej nie mniej niż miesiąc wcześniej.

Kataloński

Link do Bugzilli: https://sourceware.org/bugzilla/show_bug.cgi?id=22848.

Mamy kwiecień, a to dobry czas na rozmawianie o języku katalońskim, bo kwiecień po katalońsku to abril, a datę 10 kwietnia zapisujemy 10 d’abril. Za miesiąc będzie maj (po katalońsku: maig), a datę 10 maja zapiszemy 10 de maig.

Jak wspomniałem w poprzednim artykule, ta poprawka już zdążyła trafić do repozytorium Fedory Rawhide, a teraz jest też w repozytorium Fedory 28. Jednak to niejedyna zmiana. Okazuje się, że w języku katalońskim przedimek de (lub d’, jeśli następujący po nim rzeczownik zaczyna się od samogłoski) koniecznie trzeba dodawać też przed skrótami nazw miesięcy, czyli nie tylko d’abril, ale też d’abr.

Rodzi to jednak pewien problem: program ls, wyświetlający datę modyfikacji pliku (ls -l) ogranicza długość skróconej nazwy miesiąca do 5 liter. Popatrzmy jak to wygląda w języku katalońskim, jeśli używamy poprawnego dopełniacza:

$ LANG=ca_ES.utf8 ls -l
total 0
-rw-rw-r--. 1 rl rl 0  1 de ge 00:00 20180101.test
-rw-rw-r--. 1 rl rl 0  2 de fe 00:00 20180202.test
-rw-rw-r--. 1 rl rl 0  3 de ma 00:00 20180303.test
-rw-rw-r--. 1 rl rl 0 14 d’abr  2018 20180414.test
-rw-rw-r--. 1 rl rl 0  5 de ma  2018 20180505.test
-rw-rw-r--. 1 rl rl 0  6 de ju  2018 20180606.test
-rw-rw-r--. 1 rl rl 0  7 de ju  2018 20180707.test
-rw-rw-r--. 1 rl rl 0  8 d’ag.  2018 20180808.test
-rw-rw-r--. 1 rl rl 0  9 de se  2018 20180909.test
-rw-rw-r--. 1 rl rl 0 10 d’oct  2018 20181010.test
-rw-rw-r--. 1 rl rl 0 11 de no  2018 20181111.test
-rw-rw-r--. 1 rl rl 0 12 de de  2018 20181212.test

Marzec i maj są wyświetlane jako de ma, a czerwiec i lipiec jako de ju. Zgłosiłem już prośbę o poprawkę do projektu coreutils, została uwzględniona – czekamy na nową wersję coreutils 8.30, której spodziewam się za miesiąc. Czy zdąży trafić do Fedory 28 przed jej wydaniem?

Grecki

Link do Bugzilli: https://sourceware.org/bugzilla/show_bug.cgi?id=22937.

Tu zmiany nie są aż tak rewolucyjne, ale też ciekawe. W języku greckim występuje fleksja (tak samo, jak w polskim), a różnice między dopełniaczem a mianownikiem w niektórych miesiącach są widoczne nawet w wersji skróconej. Na przykład miesiąc maj w mianowniku to Μάιος, a w dopełniaczu Μαΐου; w skrócie, odpowiednio, ΜάιΜαΐ. Od tej pory ta różnica jest już uwzględniana w Linuksie.

Różnica też jest widoczna w wyniku komendy ls -l:

$ LANG=el_GR.utf8 ls -l
σύνολο 0
-rw-rw-r--. 1 rl rl 0 Ιαν   1 00:00 20180101.test
-rw-rw-r--. 1 rl rl 0 Φεβ   2 00:00 20180202.test
-rw-rw-r--. 1 rl rl 0 Μαρ   3 00:00 20180303.test
-rw-rw-r--. 1 rl rl 0 Απρ  14  2018 20180414.test
-rw-rw-r--. 1 rl rl 0 Μαΐ   5  2018 20180505.test
-rw-rw-r--. 1 rl rl 0 Ιουν  6  2018 20180606.test
-rw-rw-r--. 1 rl rl 0 Ιουλ  7  2018 20180707.test
-rw-rw-r--. 1 rl rl 0 Αυγ   8  2018 20180808.test
-rw-rw-r--. 1 rl rl 0 Σεπ   9  2018 20180909.test
-rw-rw-r--. 1 rl rl 0 Οκτ  10  2018 20181010.test
-rw-rw-r--. 1 rl rl 0 Νοε  11  2018 20181111.test
-rw-rw-r--. 1 rl rl 0 Δεκ  12  2018 20181212.test

Litewski

Link do Bugzilli: https://sourceware.org/bugzilla/show_bug.cgi?id=22932.

Tu zmiany są niewielkie. Po prostu tłumacz języka litewskiego poprosił o użycie w glibc skrótów nazw miesięcy w takiej postaci, jakich on użył w glib2 i jakie też podaje CLDR – czyli np. skrót od słowa kwiecień teraz będzie zapisywany bal., a nie Bal, jak do tej pory.

Zmiana też mogłaby być widoczna w wyniku komendy ls -l – niestety, na razie są używane tylko formaty numeryczne dat:

$ LANG=lt_LT.utf8 ls -l
viso 0
-rw-rw-r--. 1 rl rl 0 2018-01-01 00:00 20180101.test
-rw-rw-r--. 1 rl rl 0 2018-02-02 00:00 20180202.test
-rw-rw-r--. 1 rl rl 0 2018-03-03 00:00 20180303.test
-rw-rw-r--. 1 rl rl 0 2018-04-14 20180414.test
-rw-rw-r--. 1 rl rl 0 2018-05-05 20180505.test
-rw-rw-r--. 1 rl rl 0 2018-06-06 20180606.test
-rw-rw-r--. 1 rl rl 0 2018-07-07 20180707.test
-rw-rw-r--. 1 rl rl 0 2018-08-08 20180808.test
-rw-rw-r--. 1 rl rl 0 2018-09-09 20180909.test
-rw-rw-r--. 1 rl rl 0 2018-10-10 20181010.test
-rw-rw-r--. 1 rl rl 0 2018-11-11 20181111.test
-rw-rw-r--. 1 rl rl 0 2018-12-12 20181212.test

Czy to dlatego, że tłumaczom litewskim nie podobały się skrócone nazwy miesięcy i postanowili, że komenda ls będzie wyświetlała tylko liczby? Jeśli taka była przyczyna, to można już wrócić do formatu tekstowego. Nie znam języka litewskiego, ale sugerowałbym coś takiego:

$ LANG=lt_LT.utf8 ls -l --time-style +"%b %e"
viso 0
-rw-rw-r--. 1 rl rl 0 saus.  1 20180101.test
-rw-rw-r--. 1 rl rl 0 vas.   2 20180202.test
-rw-rw-r--. 1 rl rl 0 kov.   3 20180303.test
-rw-rw-r--. 1 rl rl 0 bal.  14 20180414.test
-rw-rw-r--. 1 rl rl 0 geg.   5 20180505.test
-rw-rw-r--. 1 rl rl 0 birž.  6 20180606.test
-rw-rw-r--. 1 rl rl 0 liep.  7 20180707.test
-rw-rw-r--. 1 rl rl 0 rugp.  8 20180808.test
-rw-rw-r--. 1 rl rl 0 rugs.  9 20180909.test
-rw-rw-r--. 1 rl rl 0 spal. 10 20181010.test
-rw-rw-r--. 1 rl rl 0 lapkr 11 20181111.test
-rw-rw-r--. 1 rl rl 0 gruod 12 20181212.test

Na razie kropki po lapkrgruod nie zmieściły się, ale, jak już wspomniałem przy okazji omawiania języka katalońskiego, poprawka już została wprowadzona i wcześniej czy później pojawi się w Fedorze.

Podsumowanie

Po dodaniu czeskiego i katalońskiego w tej chwili już 9 języków poprawnie wyświetla daty, z uwzględnieniem odmiany nazw miesięcy w dopełniaczu (poprzednio były obsługiwane: białoruski, chorwacki, grecki, litewski, polski, rosyjski i ukraiński). Nie tylko białoruski i rosyjski wymagają oddzielnych form dopełniacza i mianownika w skróconych nazwach miesięcy, ale też kataloński (ze względu na przedimek de lub d’) i grecki.

Podobnie jak poprzednio, jeśli ktoś widzi w zrzutach ekranu w tym artykule błędy w formatach dat, które mogą poprawić tłumacze, jak np. brakujące znaki przestankowe albo nieprawidłowa kolejność numeru dnia i nazwy miesiąca, proszę się kontaktować z tłumaczami poszczególnych aplikacji.