glibc 2.26: Nowości w obsłudze języków

2 sierpnia 2017 roku została opublikowana wersja 2.26 biblioteki glibc (The GNU C library). Wśród wielu rozwiązanych w tym wydaniu problemów znalazły się również te związane z lokalizacją. Większość z poprawek została wprowadzona krótko przed publikacją. Przyjrzymy się zmianom.

Nowe wersje językowe

W porównaniu z poprzednią bieżąca wersja wprowadza wsparcie dla 6 nowych języków: aguaruna, bislama, hindi fidżyjskiego, samoańskiego, tok pisin i tongijskiego, a także dla 2 nowych odmian regionalnych: południowoazerskiego dla Iranu i maithili dla Nepalu.

Aguaruna jest językiem używanym przez 38–45 tys. rdzennych mieszkańców Peru. Bislama jest oficjalnym językiem Vanuatu, choć faktycznie posługuje się nim zaledwie 10 tys. osób. Hindi fidżyjskie jest językiem pochodzącym, ale jednocześnie różniącym się od hinduskiego. Posługuje się nim około 300 tys. mieszkańców Fidżi, co stanowi około ⅓ jego całkowitej populacji, i jest jednym z oficjalnych języków tego kraju. Do jego zapisu używa się zarówno alfabetu łacińskiego, jak i pisma dewanagari. Bieżąca wersja glibc wprowadza wyłącznie hindi fidżyjskie pisane alfabetem łacińskim, ale odmiana pisana w dewanagari także jest rozważana. Tok pisin jest jednym z oficjalnych języków Papui-Nowej Gwinei. Choć jest używany tylko przez 120 tysięcy mieszkańców, co stanowi 1,7% całkowitej populacji, jest jednocześnie najszerzej znanym językiem tego kraju. Nic dziwnego, skoro w Papui-Nowej Gwinei mówi się w 850 językach.

Język południowoazerski jest odmianą azerskiego, używaną przez ok. 13 mln osób (16% całkowitej populacji) w Iranie, zaś maithili jest używany przez ok. 3 mln osób (11,5% całkowitej populacji) w Nepalu. Oba te języki były już poprzednio wspierane przez glibc jako używane odpowiednio w Azerbejdżanie i Indiach. Teraz ich użytkownicy będą mogli korzystać z wariantów dopasowanych do ich właściwych krajów.

Poprawki

Usunięte zostały błędy w sortowaniu alfabetycznym w języku węgierskim i malajalam (zobacz także: tu). Ale znacznie więcej poprawek wprowadzono w elementach formatowania daty i czasu, zwłaszcza w nazwach miesięcy. Poprawiono literówki w pełnych lub skróconych, albo nawet w obu wersjach nazw, między innymi w językach: arabskim (w wielu odmianach lokalnych), białoruskim, bretońskim, friulskim, hinduskim, hiszpańskim (Peru i Urugwaj), joruba, kannada, konkani, malajalam, marathi, mongolskim, północnolapońskim, serbskim (tylko wersja łacińska), uzbeckim, zulu — aż 55 języków zaktualizowano do zawartości zgodnej z CLDR w wersji 31. Nazwy dni tygodnia poprawiono w arabskim, czeczeńskim i kaszmirskim — użytkownicy z Arabii Saudyjskiej jak dotąd mieli je wyświetlane wyłącznie po angielsku. W wielu językach dodano albo poprawiono tłumaczenia standardowych odpowiedzi tak i nie.

W kilku językach usunięto błędnie doklejone spacje na końcach słów, najczęściej nazw dni tygodnia. Zmiana dotyczy głównie języków Indii, ale także albańskiego (w którym problem został po raz pierwszy dostrzeżony), haitańskiego, maltańskiego i innych. Ta poprawka ułatwi estetyczne formatowanie dat w tych językach.

Unicode 10.0

Nowa wersja wprowadza też pełne wsparcie Unicode 10.0. Zmiany obejmują głównie dodanie nowych znaczków emoji.

Warto przy tym wspomnieć, że pełne wsparcie Unicode 10.0 zostało dodane do glibc zaledwie 2 dni po oficjalnej publikacji standardu.