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