SOURCES: monodoc.desktop (NEW) - desktop file

Paweł Sakowski pawel w sakowski.eu.org
Sob, 28 Lut 2004, 15:13:01 CET


> Jakie to ma znaczenie? freedesktop mówi tylko o zmiennych LC_*, stąd
> wyjście określam przez :locale, dopóki ktoś explicite nie zażąda innego
> kodowania. Ale żeby tego używać, wewnętrzną reprezentacją wszystkich
> ciągów musi być UTF. Stąd jeśli .desktop ma Encoding=LegacyMixed, to
> muszę uzyskać nazwę encodingu dla danego [lang], a to bez [..._country]
> jest niemożliwe w sytuacji obecnej, gdy lang nie jest poprawnym locale.

Chyba mówimy o dwóch różnych rzeczach.

Jedna sprawa to wybór spośród różnych wariantów np. Name[xxx] właściwego
dla danego locale. Tu sprawę rozwiązuje tabelka 1. standardu -- czyli
dla locale (a dokładniej mówiąc, LC_MESSAGES) pl_PL brane są pod uwagę
Name[pl_PL], Name[pl] i Name (z dokładnością do sufiksu .ENCODING).

Druga sprawa to sposób przedstawienie tej informacji. Tu trzeba, w
ogólnym przypadku, przekodować stringa. Kodowanie wyjścia określa
$(locale charmap), niezależnie od konkretnego pliku desktop. W przypadku
pl_PL może to być ISO-8859-2, ale nie musi. Kodowanie wejścia to albo
UTF-8 albo, w przypadku Legacy-Mixed, określone jest przez załącznik D
standardu. I dla przykładu: jeżeli locale jest pl_PL a w pliku .desktop
występuje jedynie linia Name[pl]=xxx, to linia ta jest interpretowana
jako ISO 8859-2, niezależnie od ustawień locale konkretnego systemu. Tak
samo byłaby potraktowana linia Name[pl_PL]=xxx.

-- 
+----------------------------------------------------------------------+
| Paweł Sakowski <pawel w sakowski.eu.org>            Never trust a man  |
|                            who can count up to 1023 on his fingers.  |
+----------------------------------------------------------------------+



Więcej informacji o liście dyskusyjnej pld-devel-pl