aboutsummaryrefslogtreecommitdiff
path: root/files/pl/mozilla/tech/xul/kurs_xul/plik_własności/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/pl/mozilla/tech/xul/kurs_xul/plik_własności/index.html')
-rw-r--r--files/pl/mozilla/tech/xul/kurs_xul/plik_własności/index.html85
1 files changed, 85 insertions, 0 deletions
diff --git a/files/pl/mozilla/tech/xul/kurs_xul/plik_własności/index.html b/files/pl/mozilla/tech/xul/kurs_xul/plik_własności/index.html
new file mode 100644
index 0000000000..ebae58ec36
--- /dev/null
+++ b/files/pl/mozilla/tech/xul/kurs_xul/plik_własności/index.html
@@ -0,0 +1,85 @@
+---
+title: Plik własności
+slug: Mozilla/Tech/XUL/Kurs_XUL/Plik_własności
+tags:
+ - Kurs_XUL
+ - Lokalizacja
+ - Przewodniki
+ - Strony_wymagające_dopracowania
+ - Wszystkie_kategorie
+ - XUL
+translation_of: Archive/Mozilla/XUL/Tutorial/Property_Files
+---
+<p></p><div class="prevnext" style="text-align: right;">
+ <p><a href="/pl/docs/Kurs_XUL:Lokalizacja" style="float: left;">« Poprzedni</a><a href="/pl/docs/Kurs_XUL:Wprowadzenie_do_XBL">Następny »</a></p>
+</div> W skryptach nie można używać encji. Zamiast nich stosuje się pliki własności.<p></p>
+
+<h3 id="W.C5.82asno.C5.9Bci" name="W.C5.82asno.C5.9Bci">Własności</h3>
+
+<p>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.</p>
+
+<p>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 <strong>nazwa=wartość</strong>. Przykład przedstawiono poniżej.</p>
+
+<pre>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.
+</pre>
+
+<p>Powyższy przykładowy plik zawiera dwie własności. Skrypt może je odczytać i wyświetlić użytkownikowi.</p>
+
+<h3 id="Paczki_.C5.82a.C5.84cuch.C3.B3w_znak.C3.B3w" name="Paczki_.C5.82a.C5.84cuch.C3.B3w_znak.C3.B3w">Paczki łańcuchów znaków</h3>
+
+<p>Kod do odczytania własności można napisać samodzielnie albo skorzystać z dostarczonego przez XUL elementu <code><code><a href="/pl/docs/Mozilla/Tech/XUL/stringbundle" title="stringbundle">stringbundle</a></code></code>. 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.</p>
+
+<pre>&lt;stringbundleset id="strbundles"&gt;
+&lt;stringbundle id="strings" src="strings.properties"/&gt;
+&lt;/stringbundleset&gt;
+</pre>
+
+<p>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<em>chrome</em>.</p>
+
+<h4 id="Pobieranie_.C5.82a.C5.84cucha_znak.C3.B3w_z_paczki" name="Pobieranie_.C5.82a.C5.84cucha_znak.C3.B3w_z_paczki">Pobieranie łańcucha znaków z paczki</h4>
+
+<p>Element <code><code><a href="/pl/docs/Mozilla/Tech/XUL/stringbundle" title="stringbundle">stringbundle</a></code></code> posiada szereg metod. Jedną z nich jest <code>getString</code>, której można użyć do odczytania z poziomu skryptu ciągu znaków z zestawu.</p>
+
+<pre>var strbundle=document.getElementById("strings");
+var nofilesfound=strbundle.getString("notFoundAlert");
+
+alert(nofilesfound);
+</pre>
+
+<ul>
+ <li>W powyższym przykładzie pobieramy najpierw referencję do zestawu ciągów za pomocą jego <code>id</code>.</li>
+ <li>Następnie odszukujemy w pliku własności ciąg 'notFoundAlert'. Funkcja <code>getString()</code> zwraca wartość ciągu lub null, jeśli ciąg nie istnieje.</li>
+ <li>Na końcu wyświetlamy odszukany ciąg w oknie powiadomienia.</li>
+</ul>
+
+<h4 id="Formatowanie_tekstu" name="Formatowanie_tekstu">Formatowanie tekstu</h4>
+
+<p>Kolejną metodą jest <code>getFormattedString()</code>. Ta metoda także pobiera łańcuch znaków nazwy danego klucza z paczki. Dodatkowo każde wystąpienie formatowania code (np. <code>%S</code>) jest zastępowane przez następny element z paczki.</p>
+
+<pre>var dir = "/usr/local/document";
+var count = 10;
+
+var strbundle = document.getElementById("strings");
+var result = strbundle.getFormattedString("resultMessage", [ dir, count ]);
+
+alert(result);
+</pre>
+
+<p>Ten przykład wyświetli następującą wiadomość w okienku ostrzeżenia.</p>
+
+<pre>10 files found in the /usr/local/document directory.
+</pre>
+
+<p>You will notice the formatting codes <code>%1$S</code> and <code>%2$S</code> is used, and replaced different order in the array. Formatting code %<em>n</em>$S is specify the position of corresponding parameter directly. Although the word order is not the same in all the languages, by using <code>getFormattedString()</code> the specification of the order can be put out the property files.</p>
+
+<h3 id="Znaki_ucieczki_non-ASCII" name="Znaki_ucieczki_non-ASCII">Znaki ucieczki non-ASCII</h3>
+
+<p>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: <code>\uXXXX</code> 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).</p>
+
+<p>W następnym artykule <a href="pl/Kurs_XUL/Wprowadzenie_do_XBL">przyjrzymy się językowi XBL</a>, którego możemy użyć do zdefiniowania zachowania elementu.</p>
+
+<p></p><div class="prevnext" style="text-align: right;">
+ <p><a href="/pl/docs/Kurs_XUL:Lokalizacja" style="float: left;">« Poprzedni</a><a href="/pl/docs/Kurs_XUL:Wprowadzenie_do_XBL">Następny »</a></p>
+</div><p></p>