mozilla
Wyniki wyszukiwania

    Plik własności

    UWAGA: Tłumaczenie tej strony nie zostało zakończone.
    Może być ona niekompletna lub wymagać korekty.
    Chcesz pomóc? | Dokończ tłumaczenie | Sprawdź ortografię | Więcej takich stron+.
    W skryptach nie można używać encji. Zamiast nich stosuje się pliki własności.

    Własności

    Z plików DTD korzysta się przy tekstach wyświetlanych z pliku XUL. Skrypty nie są jednak parsowane pod względem encji. Dodatkowo, może zajść potrzeba wyświetlenia wiadomości wygenerowanej ze skryptu, jeśli np. nie znamy dokładnego tekstu, jaki ma zostać wyświetlony. W tym celu stosuje się właśnie pliki własności.

    Plik własności zawiera zestaw ciągów znaków. Pliki własności znajdują się obok plików DTD, mają rozszerzenie .properties. Własności w plikach deklaruje się za pomocą składni nazwa=wartość. Przykład przedstawiono poniżej.

    notFoundAlert=Nie znaleziono plików wg wskazanych kryteriów.
    deleteAlert=Kliknij OK, aby usunąć wszystkie pliki.
    resultMessage=%2$S plików znaleziono w katalogu %1$S.
    

    Powyższy przykładowy plik zawiera dwie własności. Skrypt może je odczytać i wyświetlić użytkownikowi.

    Paczki łańcuchów znaków

    Kod do odczytania własności można napisać samodzielnie albo skorzystać z dostarczonego przez XUL elementu stringbundle. Element ten zawiera szereg funkcji, które można wykorzystać do wydobycia ciągów znaków z pliku własności oraz do pobrania innych informacji lokalizacyjnych. Element ten czyta zawartość pliku własności i tworzy listę własności. Dostęp do tych własności możliwy jest po ich nazwie.

    <stringbundleset id="strbundles">
    <stringbundle id="strings" src="strings.properties"/>
    </stringbundleset>
    

    Dołączenie tego elementu spowoduje odczytanie własności z pliku 'strings.properties' znajdującego się w tym samym katalogu, co plik XUL. Do odczytu plików zlokalizowanych należy korzystać z adresów URL chrome.

    Pobieranie łańcucha znaków z paczki

    Element stringbundle posiada szereg metod. Jedną z nich jest getString, której można użyć do odczytania z poziomu skryptu ciągu znaków z zestawu.

    var strbundle=document.getElementById("strings");
    var nofilesfound=strbundle.getString("notFoundAlert");
    
    alert(nofilesfound);
    
    • W powyższym przykładzie pobieramy najpierw referencję do zestawu ciągów za pomocą jego id.
    • Następnie odszukujemy w pliku własności ciąg 'notFoundAlert'. Funkcja getString() zwraca wartość ciągu lub null, jeśli ciąg nie istnieje.
    • Na końcu wyświetlamy odszukany ciąg w oknie powiadomienia.

    Formatowanie tekstu

    Kolejną metodą jest getFormattedString(). Ta metoda także pobiera łańcuch znaków nazwy danego klucza z paczki. Dodatkowo każde wystąpienie formatowania code (np. %S) jest zastępowane przez następny element z paczki.

    var dir = "/usr/local/document";
    var count = 10;
    
    var strbundle = document.getElementById("strings");
    var result = strbundle.getFormattedString("resultMessage", [ dir, count ]);
    
    alert(result);
    

    Ten przykład wyświetli następującą wiadomość w okienku ostrzeżenia.

    10 files found in the /usr/local/document directory.
    

    You will notice the formatting codes %1$S and %2$S is used, and replaced different order in the array. Formatting code %n$S is specify the position of corresponding parameter directly. Although the word order is not the same in all the languages, by using getFormattedString() the specification of the order can be put out the property files.

    Znaki ucieczki non-ASCII

    Although many languages need non-ASCII characters, property files should be written using only ASCII characters. However, property files support other characters using escape sequences of the form: \uXXXX where XXXX is a character code. Therefore, if your property files contain non-ASCII characters, you should convert these to 'escaped-unicode' format. To do this, you can use native2ascii command line utility bundled with Sun's Java Development Kit (JDK).

    W następnym artykule przyjrzymy się językowi XBL, którego możemy użyć do zdefiniowania zachowania elementu.

    Autorzy i etykiety dokumentu

    Contributors to this page: Marcoos, Bedi, teoli, Minh Nguyen, Witia, Mgjbot, Ptak82
    Ostatnia aktualizacja: teoli,