diff options
Diffstat (limited to 'files/pl/lokalizacja_rozszerzenia/index.html')
-rw-r--r-- | files/pl/lokalizacja_rozszerzenia/index.html | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/files/pl/lokalizacja_rozszerzenia/index.html b/files/pl/lokalizacja_rozszerzenia/index.html deleted file mode 100644 index 9f3454d651..0000000000 --- a/files/pl/lokalizacja_rozszerzenia/index.html +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: Lokalizacja rozszerzenia -slug: Lokalizacja_rozszerzenia -tags: - - Dodatki - - Lokalizacja - - Rozszerzenia - - Wszystkie_kategorie -translation_of: Archive/Localizing_an_extension ---- -<p>{{ PreviousNext("Dodawanie preferencji do rozszerzenia", "Updating an extension to support multiple Mozilla applications") }}</p> -<p>Poniższy artykuł poszerza poprzedni przykład pisania wtyczek o dodanie wsparcia lokalizacyjnego do naszego rozszerzenia "stock watcher". Wykonanie kilka prostych kroków znacznie ułatwia zlokalizowanie wtyczki bez konieczności edytowania plików <a href="pl/XUL">XUL</a>-a lub <a href="pl/JavaScript">JavaScriptu</a>.</p> -<p>Jeśli jeszcze nie tworzyłeś rozszerzenia, lub chciałbyś sobie przypomnieć jak to się robi, to polecam zobaczyć poniższe artykuły:</p> -<ul> - <li><a href="pl/Tworzenie_rozszerzenia_paska_stanu">Tworzenie rozszerzenia paska stanu</a></li> - <li><a href="pl/Tworzenie_rozszerzenia_dynamicznego_paska_stanu">Tworzenie rozszerzenia dynamicznego paska stanu</a></li> - <li><a href="pl/Dodawanie_preferencji_do_rozszerzenia">Dodawanie preferencji do rozszerzenia</a></li> -</ul> -<h2 id="Pobieranie_przyk.C5.82adu" name="Pobieranie_przyk.C5.82adu">Pobieranie przykładu</h2> -<p>Możesz pobrać kod przykładu dla tegoż artykułu.</p> -<p><a class="external" href="http://developer.mozilla.org/samples/extension-samples/localizedstockwatcher.zip" rel="freelink">http://developer.mozilla.org/samples...ockwatcher.zip</a></p> -<h2 id="Lokalizacja_string.C3.B3w_w_plikach_XUL" name="Lokalizacja_string.C3.B3w_w_plikach_XUL">Lokalizacja stringów w plikach XUL</h2> -<h3 id="Tworzenie_plik.C3.B3w_locale" name="Tworzenie_plik.C3.B3w_locale">Tworzenie plików locale</h3> -<p>Każdy plik XUL zawierający interfejs użytkownika twojego rozszerzenia to powinien zawierać plik locale w swoim katalogu locale. Każdy plik locale file mapuje nazwy, do których się odwołują ciągi w plikach XUL. Okno dialogowe własności, dla plików XUL to <code>options.xul</code> ma odpowiadający mu plik <code>options.dtd</code> wyglądający jak poniżej:</p> -<pre class="eval"> <!ENTITY options_window_title "StockWatcher 2 Preferences"> - <!ENTITY options_symbol.label "Stock to watch: "> -</pre> -<p>Encja "options_window_title" mapuje ciąg "StockWatcher 2 Preferences", który będzie użyty jako tytuł okna własności.</p> -<p>Plik <code>stockwatcher2.dtd</code> zawiera mapowanie dla pliku <code>stockwatcher2.xul</code>:</p> -<pre class="eval"> <!ENTITY panel_loading "Loading..."> - <!ENTITY menu_refresh_now.label "Refresh Now"> - <!ENTITY menu_apple.label "Apple (AAPL)"> - <!ENTITY menu_google.label "Google (GOOG)"> - <!ENTITY menu_microsoft.label "Microsoft (MSFT)"> - <!ENTITY menu_yahoo.label "Yahoo (YHOO)"> -</pre> -<h3 id="Aktualizacja_plik.C3.B3w_XUL" name="Aktualizacja_plik.C3.B3w_XUL">Aktualizacja plików XUL</h3> -<p>Każdy plik XUL musi posiadać odpowiadający mu plik locale. Musimy również zaktualizować kod, by używać encji zamiast strumieni, tak by podmiany bazowały na aktualnie aktywnej lokalizacji.</p> -<p>W celu dodania odnośnika do odpowiedniego pliku locale dla danego plika XUL-a należy dodać następującą linię do pliku XUL-a. Do pliku <code>options.xul</code>, dodajemy:</p> -<pre class="eval"> <!DOCTYPE window SYSTEM "<a class="external" rel="freelink">chrome://stockwatcher2/locale/options.dtd</a>"> -</pre> -<p>Następnie dodajemy podobną linię do pliku <code>stockwatcher.xul</code>:</p> -<pre class="eval"> <!DOCTYPE overlay SYSTEM "<a class="external" rel="freelink">chrome://stockwatcher2/locale/stockwatcher2.dtd</a>"> -</pre> -<p>Dla większych aplikacji może zachodzić potrzeba używania encji z większej liczby plików locale w pojedynczym pliku XUL. Artykuł <a href="pl/Zastosowanie_wielu_plik%c3%b3w_DTD">Zastosowanie wielu plików DTD</a> opisuje jak tego dokonać.</p> -<p>Zauważ, że adresy URL plików DTD nie zawierają nazwy lokalizacji jaką należy użyć. Rejestr chrome przetwarza URI bazując na aktualnych ustawieniach językowych użytkownika oraz danych w twoim <a href="#Aktualizacja_manifestu_chrome">manifeście Chrome</a>.</p> -<p>Następnie zastępujemy po prostu strumień tekstu w plikach XUL na odpowiednie encje. Przykładowo w <code>stockwatcher2.xul</code> zmieniamy linię:</p> -<pre class="eval"> <menuitem label="Refresh Now" oncommand="StockWatcher.refreshInformation()"/> -</pre> -<p>na:</p> -<pre class="eval"> <menuitem label="&menu_refresh_now.label;" oncommand="StockWatcher.refreshInformation()"/> -</pre> -<p>Należy tego dokonać dla każdego strumienia we wszystkich plikach XUL.</p> -<h2 id="Aktualizacja_manifestu_chrome" name="Aktualizacja_manifestu_chrome">Aktualizacja manifestu chrome</h2> -<p>Aby dodać nowe lokalizacje, musimy uaktualnić plik <code><a href="pl/Rejestracja_Chrome">chrome.manifest</a></code> dodając po jednej linii dla każdej lokalizacji:</p> -<pre class="eval"> locale stockwatcher2 en-US chrome/locale/en-US/ -</pre> -<p>To informuje Firefoksa o tym, że lokalizacja en-US jest umieszczona w katalogu <code>chrome/locale/en-US</code>.</p> -<h3 id="Lokalizacja_string.C3.B3w_w_kodzie_JavaScript" name="Lokalizacja_string.C3.B3w_w_kodzie_JavaScript">Lokalizacja stringów w kodzie JavaScript</h3> -<p>Jeśli twój kod JavaScriptu zawiera stringi, które należałoby zlokalizować jak jest to pokazane w naszym przykładzie "stock watcher", musimy uczynić je lokalizowanymi. Można to zrobić poprzez przeniesienie do paczki stringów. Są one tworzone poprzez określenie pliku własności mapującego klucze na wartości stringów. Szczegółowych wyjaśnień należy szukać w artykule <a href="pl/Kurs_XUL/Plik_w%c5%82asno%c5%9bci">Kurs XUL:Plik własności</a>.</p> -<h3 id="Tworzenie_pliku_w.C5.82asno.C5.9Bci" name="Tworzenie_pliku_w.C5.82asno.C5.9Bci">Tworzenie pliku własności</h3> -<p>Najpierw musimy stworzyć plik własności dla strumieni literałów używanych w kodzie JavaScriptu w <code>stockwatcher2.js</code>:</p> -<pre class="eval">changeString=Chg: -openString=Open: -lowString=Low: -highString=High: -volumeString=Vol: -</pre> -<p>Plik <tt>stockwatcher2.properties</tt> przedstawiony powyżej pokazuje mapowanie 5 kluczy (<code>changeString</code>, <code>openString</code>, <code>lowString</code>, <code>highString</code> i <code>volumeString</code>) na odpowiedni tekst angielski.</p> -<h3 id="Tworzenie_paczki_strumieni" name="Tworzenie_paczki_strumieni">Tworzenie paczki strumieni</h3> -<p>Kolejnym krokiem jest zmodyfikowanie pliku <tt>stockwatcher2.xul</tt> w celu stworzenia odnośnika do tego pliku własności. Tworzymy paczkę strumieni za pomocą następującego kodu:</p> -<pre class="eval"> <stringbundleset id="stringbundleset"> - <stringbundle id="string-bundle" src="<a class="external" rel="freelink">chrome://stockwatcher2/locale/stockw...er2.properties</a>"/> - </stringbundleset> -</pre> -<p>Nowa paczka została stworzona i do niej odnosi się teraz ID "string-bundle", którego klucze oraz wartości należy załadować z pliku <code>stockwatcher2.properties</code> stworzonego uprzednio.</p> -<h3 id="Aktualizacja_kodu_JavaScriptu" name="Aktualizacja_kodu_JavaScriptu">Aktualizacja kodu JavaScriptu</h3> -<p>Jesteśmy teraz gotowi do przejrzenia kodu JavaScriptu, by załadować strumienie z paczki strumienia zamiast używać strumieni literałów. Dotyczy to przepisania funkcji <code>refreshInformation()</code> dla wczytania strumieni oraz funkcji <code>infoReceived()</code>, by używać wczytanych, zlokalizowanych strumieni zamiast strumieni literałów. Dodajemy do <code>refreshInformation()</code> następujący kod:</p> -<pre class="eval"> var stringsBundle = document.getElementById("string-bundle"); - var changeString = stringsBundle.getString('changeString') + " "; - var openString = stringsBundle.getString('openString') + " "; - var lowString = stringsBundle.getString('lowString') + " "; - var highString = stringsBundle.getString('highString') + " "; - var volumeString = stringsBundle.getString('volumeString') + " "; -</pre> -<p>Kod odnosi się do elementu paczki strumieni dodanych w pliku <tt>stockwatcher2.xul</tt> poprzez wywołanie <code>document.getElementById()</code>, gdzie ID to <code>string-bundle</code>. Następnie pobiera pojedynczo wszystkie potrzebne strumienie z paczki wywołując metodę <code><a class="external" href="http://www.xulplanet.com/references/elemref/ref_stringbundle.html#prop_getString">getString()</a></code> i przekazując odpowiedni klucz dla każdego strumienia.</p> -<p>W tym przypadku dodajemy również spacje do końca każdego strumienia. Jest to po prostu sposób działania tegoż programu, a nie coś co należy robić.</p> -<p>Następnie zastępujemy każdy strumień literałów odpowiednią zmienną:</p> -<pre class="eval"> samplePanel.tooltipText = changeString + fieldArray[4] + " | " + - openString + fieldArray[5] + " | " + - lowString + fieldArray[6] + " | " + - highString + fieldArray[7] + " | " + - volumeString + fieldArray[8]; -</pre> -<h2 id="Lokalizacja_opisu_w_install.rdf" name="Lokalizacja_opisu_w_install.rdf">Lokalizacja opisu w install.rdf</h2> -<p>Zobacz <a href="pl/Lokalizacja_opisu_rozszerzenia">Lokalizacja opisu rozszerzenia</a>.</p> -<h2 id="Dodawanie_innych_lokalizacji" name="Dodawanie_innych_lokalizacji">Dodawanie innych lokalizacji</h2> -<p>W celu dodania nowej lokalizacji należy dodać linię do manifestu chrome odwołującą się do tegoż języka. Przykładowo, jeśli chcesz dodać język hiszpański linia ta wyglądać będzie następująco:</p> -<pre class="eval"> locale stockwatcher2 es-ES chrome/locale/es-ES/ -</pre> -<p>Następnie stwórz podkatalog <code>chrome/locale/es-ES</code> i dodaj wszystkie potrzebne pliki DTD; w tym przypadku to <code>options.dtd</code> oraz <code>stockwatcher2.dtd</code>. Powyższe pliki powinny mapować te same znaczniki do hiszpańskiego tłumaczenia strumieni używanych przez rozszerzenie.</p> -<p>Podobnie jest, gdy posiadamy jakieś pliki własności zawierające lokalizowane strumienie w kodzie JavaScriptu. Musimy stworzyć zlokalizowaną wersję tychże plików własności w katalogu <code>chrome/locale/es-ES</code>. Tylko strumienie powinny być lokalizowane; klucze powinny być takie same dla każdej lokalizacji.</p> -<p>{{ Previous("Dodawanie preferencji do rozszerzenia") }}</p> |