aboutsummaryrefslogtreecommitdiff
path: root/files/pl/międzynarodowe_pismo_w_xul_javascript/index.html
blob: 328cfa61246aeed920edd0531ca90464cb75b3af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
---
title: Międzynarodowe pismo w XUL JavaScript
slug: Międzynarodowe_pismo_w_XUL_JavaScript
tags:
  - Internacjonalizacja
  - JavaScript
  - Wszystkie_kategorie
translation_of: Archive/Mozilla/XUL/International_characters_in_XUL_JavaScript
---
<p>
</p>
<h3 id="Wprowadzenie"> Wprowadzenie </h3>
<p><a href="pl/Gecko">Gecko</a> 1.8, używane w <a href="pl/Firefox_1.5">Firefoksie 1.5</a> oraz innych aplikacjach, wprowadza wsparcie dla znaków non-ASCII w plikach <a href="pl/JavaScript">JavaScript</a> ładowanych z plików <a href="pl/XUL">XUL</a>.
</p><p>Oznacza to, że pliki takiego skryptu mogą zawierać znaki języków z całego świata. Przykładowo poniższa linia:
</p>
<pre class="eval">var text = "Ein schönes Beispiel eines mehrsprachigen Textes: 日本語";
</pre>
<p>zawiera zarówno znaki niemieckie, jak i japońskie.
</p><p>Wcześniejsze wersje zawsze interpretowały pliki JS ładowane z XUL jako <a class="external" href="http://pl.wikipedia.org/wiki/ISO-8859-1#Tablica_kodów">ISO-8859-1</a> (Latin-1). Sekwencje ucieczki Unicode zawsze działały poprawnie, (<a href="#Kompatybilno.C5.9B.C4.87_wersji">jak przedstawiono poniżej</a>).
</p>
<h3 id="Jak_określa_się_kodowanie_znaków_w_Gecko_1.8_oraz_późniejszych"> Jak określa się kodowanie znaków w Gecko 1.8 oraz późniejszych </h3>
<p>Podczas ładowania pliku JavaScript z adresu <code><a class=" external">chrome://</a></code> zostaje użyty znacznik kolejności bajtów (<a href="pl/Byte_Order_Mark">Byte Order Mark</a> - <a class="external" href="http://pl.wikipedia.org/wiki/BOM">BOM</a>) w celu określenia kodowania znaków w skrypcie. W przeciwnym razie zostanie użyte kodowanie znaków takie samo co w plikach XUL (określone za pomocą atrybutu <code>encoding</code> znacznika <code>&lt;?xml?&gt;</code>). Domyślnie jest to kodowanie UTF-8 reprezentujące wszystkie znaki języków na świecie.
</p><p>Jeśli plik skryptu ładowany jest poprzez HTTP, to nagłówek HTTP może zawierać deklarację kodowania znaków zawartą w części <code>Content-Type</code>, na przykład:
</p>
<pre class="eval">Content-Type: application/x-javascript; charset=UTF-8
</pre>
<p>Jeśli żaden parametr nie został określony obowiązują powyższe zasady.
</p>
<h3 id="Kompatybilność_wersji"> Kompatybilność wersji </h3>
<p>Jeśli chcesz, by ten sam kod działał w Gecko 1.8 oraz wersjach wcześniejszych, musisz ograniczyć się do znaków ASCII. Jednakże możesz użyć <a href="pl/Przewodnik_po_j%c4%99zyku_JavaScript_1.5/Unicode#Sekwencje_ucieczki_do_Unicode">sekwencji ucieczki</a> – powyższy przykład przepisany za ich pomocą będzie wyglądał następująco:
</p>
<pre class="eval">var text = "Ein sch\u00F6nes Beispiel eines mehrsprachigen Textes: \u65E5\u672C\u8A9E";
</pre>
<p>Alternatywą może być użycie plików własności poprzez <a href="pl/NsIStringBundle">nsIStringBundle</a> lub <a href="pl/Kurs_XUL/Plik_w%c5%82asno%c5%9bci">element XUL &lt;stringbundle&gt;</a>; umożliwi to lokalizację XUL. Sposób ten nie może być użyty w plikach XUL ładowanych z sieci, a jedynie w uprzywilejowanym kodzie - na przykład w <a href="pl/Rozszerzenia">rozszerzeniach</a>.
</p>