{"id":233754,"date":"2023-02-20T12:18:00","date_gmt":"2023-02-20T09:18:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233754"},"modified":"2022-11-11T12:13:06","modified_gmt":"2022-11-11T09:13:06","slug":"samouczek-motywu-wordpress-dla-poczatkujacych-czesc-8-tlumaczenie","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/samouczek-motywu-wordpress-dla-poczatkujacych-czesc-8-tlumaczenie\/","title":{"rendered":"Samouczek motywu WordPress dla pocz\u0105tkuj\u0105cych \u2013 cz\u0119\u015b\u0107 8: T\u0142umaczenie"},"content":{"rendered":"\n<p>W tej lekcji dowiemy si\u0119, jak dzia\u0142a t\u0142umaczenie (lub inaczej znane jako i18n) w WordPressie i jak wprowadzi\u0107 niezb\u0119dne poprawki w naszych szablonach. Dowiemy si\u0119 r\u00f3wnie\u017c, jak prawid\u0142owo skonfigurowa\u0107 PoEdit, aby utworzy\u0107 plik t\u0142umaczenia dla naszego motywu, gotowy do przet\u0142umaczenia na r\u00f3\u017cne j\u0119zyki.<\/p>\n<h2>Po co zawraca\u0107 sobie g\u0142ow\u0119 dodawaniem obs\u0142ugi t\u0142umacze\u0144?<\/h2>\n<p>Wszystkie motywy, przynajmniej te, kt\u00f3re zostan\u0105 udost\u0119pnione publicznie do u\u017cytku innych os\u00f3b ni\u017c programista, powinny by\u0107 dost\u0119pne do t\u0142umaczenia. Nazywa si\u0119 to internacjonalizacj\u0105 (w skr\u00f3cie i18n) i pozwala ludziom t\u0142umaczy\u0107 teksty, kt\u00f3re dodajesz w swoim motywie, na inny j\u0119zyk.<\/p>\n<p>Dzia\u0142a to tak, \u017ce jako autor motywu lub tw\u00f3rca wtyczek umieszczasz wszystkie swoje teksty (takie jak \u201eCzytaj wi\u0119cej&quot;, \u201eBrak post\u00f3w&#8221;) w okre\u015blonych funkcjach. Dzi\u0119ki tym funkcjom WordPress jest w stanie je pobra\u0107 i wstrzykn\u0105\u0107. t\u0142umaczenie, je\u015bli istnieje.Wewn\u0105trz motywu (lub wtyczki) mo\u017cesz doda\u0107 pliki okre\u015blonego typu dla ka\u017cdego przet\u0142umaczonego j\u0119zyka lub upewni\u0107 si\u0119, \u017ce inne osoby mog\u0105 tworzy\u0107 w\u0142asne t\u0142umaczenia w ich w\u0142asnym j\u0119zyku.<\/p>\n<p>Jest to bardzo przydatne dla os\u00f3b, kt\u00f3re chc\u0105 korzysta\u0107 z WordPressa i Twojego motywu (lub wtyczki) w innym j\u0119zyku ni\u017c j\u0119zyk, w kt\u00f3rym zosta\u0142 napisany (zwykle jest to angielski). Ale mo\u017cna go r\u00f3wnie\u017c wykorzysta\u0107 do zmiany niekt\u00f3rych tekst\u00f3w na co\u015b innego w tym samym j\u0119zyku.<\/p>\n<p>Je\u015bli jeste\u015b zainteresowany tematem, WordPress Codex ma d\u0142ugi i dobry <a href=\"https:\/\/codex.wordpress.org\/I18n_for_WordPress_Developers\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">przewodnik po dokumentacji na temat i18n dla programist\u00f3w<\/a>.<\/p>\n<h2>Wdro\u017cenie i18n w naszym motywie<\/h2>\n<p>Zrobili\u015bmy ju\u017c pierwsz\u0105 cz\u0119\u015b\u0107 w <a href=\"http:\/\/awhitepixel.com\/blog\/wordpress-theme-tutorial-for-beginners-part-7-theme-setup-and-featured-images\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">poprzednim kroku<\/a> tej serii samouczk\u00f3w tematycznych, w kt\u00f3rej dodali\u015bmy <code>load_theme_textdomain<\/code>funkcj\u0119 konfiguracji naszego motywu. Na wypadek, gdyby\u015b zapomnia\u0142, dodali\u015bmy:<\/p>\n<pre><code>load_theme_textdomain('wptutorial', get_stylesheet_directory(). '\/lang');<\/code><\/pre>\n<p>Pierwszym argumentem jest uchwyt, jest to unikalny ci\u0105g, kt\u00f3rego b\u0119dziesz u\u017cywa\u0107 do grupowania wszystkich tekst\u00f3w nale\u017c\u0105cych do twojego motywu. Ten uchwyt zostanie powt\u00f3rzony za ka\u017cdym razem, gdy tekst b\u0119dzie mo\u017cliwy do przet\u0142umaczenia. Drugi argument m\u00f3wi WordPressowi, gdzie znajduj\u0105 si\u0119 pliki t\u0142umacze\u0144. Zdefiniowali\u015bmy je tak, aby znajdowa\u0142y si\u0119 w podfolderze \u201e <code>lang<\/code>&#8221; w naszym katalogu motyw\u00f3w.<\/p>\n<p>Nie martw si\u0119, je\u015bli ten folder nie istnieje lub nie zawiera \u017cadnych plik\u00f3w \u2013 nic si\u0119 nie zawiesi. Je\u015bli WordPress nie znajdzie folderu ani poprawnych plik\u00f3w t\u0142umacze\u0144, domy\u015blnie powr\u00f3ci do tekst\u00f3w, kt\u00f3re mamy w motywie.<\/p>\n<p>Nast\u0119pnym krokiem jest przejrzenie ca\u0142ego naszego kodu i znalezienie dowolnego tekstu wyj\u015bciowego, kt\u00f3ry powinien by\u0107 mo\u017cliwy do przet\u0142umaczenia. Dobr\u0105 praktyk\u0105 jest upewnienie si\u0119, \u017ce obejmujemy absolutnie wszystkie teksty. Nic nie jest bardziej irytuj\u0105ce ni\u017c u\u017cywanie motywu lub wtyczki, w kt\u00f3rej autor na sta\u0142e zakodowa\u0142 teksty uniemo\u017cliwiaj\u0105ce jakiekolwiek t\u0142umaczenie lub zmian\u0119.<\/p>\n<h2>Jak sprawi\u0107, by teksty mo\u017cna by\u0142o przet\u0142umaczy\u0107<\/h2>\n<p>To, co robimy ze wszystkimi tekstami, to umieszczanie ich w jednej z funkcji gettext WordPressa, kt\u00f3r\u0105 najcz\u0119\u015bciej jest <code>_e()<\/code>lub <code>__()<\/code>. Pierwszym z nich jest podkre\u015blenie z \u201ee&#8221;, kt\u00f3re jest u\u017cywane, gdy chcesz w tym samym czasie powt\u00f3rzy\u0107 tekst. Drugi to dwa podkre\u015blenia i jest u\u017cywany, gdy nie chcesz go powtarza\u0107, ale przechowuj go lub u\u017cywaj w zmiennej.<\/p>\n<p>WordPress ma wi\u0119cej funkcji gettext, kt\u00f3re s\u0142u\u017c\u0105 bardziej konkretnym celom, na przyk\u0142ad <code>esc_html__()<\/code>, <code>_n()<\/code>i <code>_x()<\/code>nie tylko. Jednak nie b\u0119dziemy wchodzi\u0107 w szczeg\u00f3\u0142y dotycz\u0105ce tych w tym samouczku.<\/p>\n<p>Funkcje gettext przyjmuj\u0105 dwa parametry; po pierwsze sam tekst, a po drugie uchwyt zdefiniowany w <code>load_theme_textdomain<\/code>. W tym przypadku jest to \u201e <code>wptutorial<\/code>&#8222;.<\/p>\n<p>Na przyk\u0142ad, je\u015bli masz co\u015b takiego:<\/p>\n<pre><code>echo 'Read more';<\/code><\/pre>\n<p>Musisz go zast\u0105pi\u0107:<\/p>\n<pre><code>_e('Read more', 'wptutorial');<\/code><\/pre>\n<p>I podobnie do przechowywania w zmiennej;<\/p>\n<pre><code>$myvariable = 'Read more';<\/code><\/pre>\n<p>Musi by\u0107 napisane tak:<\/p>\n<pre><code>$myvariable = __('Read more', 'wptutorial');<\/code><\/pre>\n<p>Teraz musimy znale\u017a\u0107 wszystkie teksty w naszych szablonach! Je\u015bli przeszed\u0142e\u015b ten samouczek do \u201eT&#8221;, to nie jest wiele. Mamy kilka smyczk\u00f3w <code>index.php<\/code>, a niekt\u00f3re w <code>single.php<\/code>.<\/p>\n<h2>Dodanie obs\u0142ugi t\u0142umaczenia w naszym motywie<\/h2>\n<p>Zacznijmy od <code>index.php<\/code>zlokalizowania komunikatu \u201eBrak post\u00f3w, przepraszam&#8221;, kt\u00f3ry dodali\u015bmy, je\u015bli p\u0119tla nie zawiera\u0142a \u017cadnych post\u00f3w. Zawijamy ten tekst w \u015brodku <code>_e()<\/code>, poniewa\u017c nadal chcemy go powt\u00f3rzy\u0107. Oto, co otrzymujemy:<\/p>\n<pre><code>...\n} else {\n    ?&gt;&lt;p&gt;&lt;?php _e('No posts, sorry.', 'wptutorial'); ?&gt;&lt;\/p&gt;&lt;?php\n}\n...<\/code><\/pre>\n<p>Poniewa\u017c u\u017cy\u0142e\u015b <code>_e()<\/code>, nie powiniene\u015b widzie\u0107 \u017cadnych zmian po naci\u015bni\u0119ciu przycisku od\u015bwie\u017cania na stronie g\u0142\u00f3wnej lub archiwum. Ale pod mask\u0105 ten tekst jest teraz do przet\u0142umaczenia!<\/p>\n<p>Ten sam tekst mamy w naszym <code>single.php<\/code>i <code>page.php<\/code>. Zaktualizuj je w taki sam spos\u00f3b, jak w programie <code>index.php<\/code>. Dodali\u015bmy wi\u0119cej tekst\u00f3w w <code>single.php<\/code>, wi\u0119c oto jak to wygl\u0105da po przet\u0142umaczeniu wszystkich tekst\u00f3w:<\/p>\n<pre><code>...\n        &lt;?php the_category(); ?&gt;\n        &lt;p&gt;&lt;?php _e('Posted', 'wptutorial'); ?&gt;: &lt;?php the_date(); ?&gt; &lt;?php _e('at', 'wptutorial'); ?&gt; &lt;?php the_time(); ?&gt;&lt;\/p&gt;\n        &lt;p&gt;&lt;?php _e('Author', 'wptutorial'); ?&gt;: &lt;?php the_author(); ?&gt;&lt;\/p&gt;\n    &lt;\/article&gt;\n    &lt;?php endwhile;\n} else {\n    ?&gt;&lt;p&gt;&lt;?php _e('No posts, sorry.', 'wptutorial'); ?&gt;&lt;\/p&gt;&lt;?php\n}\n\u00a0\n...<\/code><\/pre>\n<p>Od teraz wszystkie teksty, kt\u00f3re dodamy w naszym motywie, upewniamy si\u0119, \u017ce zawijamy je do \u015brodka <code>__()<\/code>lub <code>_e()<\/code>.<\/p>\n<h2>Pliki t\u0142umacze\u0144<\/h2>\n<p>Istniej\u0105 dwa sposoby dostarczania plik\u00f3w t\u0142umaczeniowych do motywu;<\/p>\n<ul>\n<li>Podaj <code>.pot<\/code>-plik<\/li>\n<li>lub podaj par\u0119 plik\u00f3w <code>.po<\/code>i .<code>.mo<\/code><\/li>\n<\/ul>\n<p>Plik <code>.pot<\/code>&#8211; jest zalecany dla motywu, kt\u00f3ry sprzedajesz lub rozdajesz innym u\u017cytkownikom, poniewa\u017c za pomoc\u0105 tego pliku bardzo \u0142atwo jest wygenerowa\u0107 plik t\u0142umaczenia dla nowego j\u0119zyka. Jednak utworzenie jednego z tych plik\u00f3w nie jest \u0142atwe (ani darmowe). Je\u015bli znasz WP-CLI (wiersz polece\u0144 WordPress) lub Grunt, mo\u017cesz post\u0119powa\u0107 zgodnie z wytycznymi zawartymi w <a href=\"https:\/\/codex.wordpress.org\/I18n_for_WordPress_Developers#POT_files\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">dokumentacji WordPress tutaj<\/a>. Je\u015bli nie, inna alternatywa mo\u017ce by\u0107 dla Ciebie.<\/p>\n<p>Pliki <code>.po<\/code>i <code>.mo<\/code>praca razem. WordPress wymaga <code>.mo<\/code>t\u0142umaczenia tekst\u00f3w, ale ten plik nie jest czytelny dla cz\u0142owieka. Dlatego mamy <code>.po<\/code>plik, kt\u00f3ry jest dla nas czytelny. Przy odpowiednim oprogramowaniu generuje <code>.mo<\/code>plik za ka\u017cdym razem, gdy wprowadzasz zmiany.<\/p>\n<p>Wad\u0105 <code>.po<\/code>i <code>.mo<\/code>plik\u00f3w jest to, \u017ce musisz wygenerowa\u0107 jedn\u0105 par\u0119 dla ka\u017cdego j\u0119zyka, a po przet\u0142umaczeniu na j\u0119zyk nie ma \u0142atwego sposobu na opr\u00f3\u017cnienie wszystkich t\u0142umacze\u0144 w celu stworzenia kolejnego nowego j\u0119zyka.<\/p>\n<p>Potrzebujesz programu do edycji <code>.pot<\/code>i <code>.po<\/code>plik\u00f3w. Najpopularniejszym z nich jest <a href=\"https:\/\/poedit.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PoEdit<\/a>. PoEdit jest darmowy i dzia\u0142a zar\u00f3wno na iOS, jak i Windows. Jednak niekt\u00f3re zaawansowane funkcje (takie jak generowanie <code>.pot<\/code>pliku -) wymagaj\u0105 niestety p\u0142atnej wersji. U\u017cyjemy darmowej wersji do stworzenia <code>.po<\/code>pliku dla naszego motywu.<\/p>\n<p>Pobierz i zainstaluj PoEdit, aby \u015bledzi\u0107 reszt\u0119 samouczka.<\/p>\n<h2>Tworzenie pliku .po dla naszego motywu za pomoc\u0105 PoEdit<\/h2>\n<p>Tworzenie pliku z t\u0142umaczeniem na j\u0119zyk angielski zwykle nie ma sensu, je\u015bli wszystkie teksty w naszym motywie i tak s\u0105 w j\u0119zyku angielskim, ale na potrzeby tego samouczka stworz\u0119 plik z t\u0142umaczeniem na j\u0119zyk angielski.<\/p>\n<p>1 Otw\u00f3rz PoEdit i kliknij Plik &gt; Nowy\u2026<\/p>\n<p>2 Zostaniesz poproszony o wybranie j\u0119zyka. Wybierz \u017c\u0105dany j\u0119zyk, na przyk\u0142ad angielski.<\/p>\n<p>3 Naci\u015bnij Zapisz (Ctrl+S). Znajd\u017a folder motywu i wejd\u017a do <code>\/lang\/<\/code>podfolderu. (Je\u015bli nie utworzy\u0142e\u015b go w poprzednim kroku, utw\u00f3rz go teraz). Nazwa pliku ma kluczowe znaczenie. W przypadku motyw\u00f3w powinien nazywa\u0107 si\u0119 tylko kodem j\u0119zyka. Dla ameryka\u0144skiego angielskiego b\u0119dzie to <code>en_US<\/code>, dla norweskiego b\u0119dzie to <code>nb_NO<\/code>. Wygoogluj go lub zapoznaj si\u0119 z <a href=\"https:\/\/wpastra.com\/docs\/complete-list-wordpress-locale-codes\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tym przegl\u0105dem<\/a>, aby znale\u017a\u0107 kod j\u0119zyka. Nazwiemy to <code>en_US.po<\/code>.<\/p>\n<p>4 W menu kliknij Katalog &gt; W\u0142a\u015bciwo\u015bci\u2026<\/p>\n<p>5 W pierwszej zak\u0142adce mo\u017cesz uzupe\u0142ni\u0107 informacje takie jak nazwa projektu (motywu) lub zmieni\u0107 j\u0119zyk \u2013 ale nie jest to konieczne. Zalecam zachowanie zestawu znak\u00f3w w UTF-8, poniewa\u017c tak piszemy dla WordPressa.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152370-61e4d69a10501.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152370-61e4d69a10501.png\" alt=\"Samouczek motywu WordPress dla pocz\u0105tkuj\u0105cych \u2013 cz\u0119\u015b\u0107 8: T\u0142umaczenie\" ><\/a><\/p>\n<p>6 Kliknij zak\u0142adk\u0119 \u015acie\u017cki \u017ar\u00f3de\u0142. Tutaj musisz okre\u015bli\u0107, w kt\u00f3rych folderach plik powinien szuka\u0107 tekst\u00f3w mo\u017cliwych do przet\u0142umaczenia. \u015acie\u017cki s\u0105 wzgl\u0119dne, a poniewa\u017c ju\u017c zapisali\u015bmy je w podfolderze naszego motywu, wiemy, \u017ce musi i\u015b\u0107 w g\u00f3r\u0119 o jeden katalog. Naci\u015bnij przycisk + pod polem \u015acie\u017cki i wybierz Dodaj foldery. Wybierz katalog motyw\u00f3w. Powinno to doda\u0107 element \u015bcie\u017cki \u201e.&#8221; (przejd\u017a o jeden folder w g\u00f3r\u0119). Dok\u0142adnie sprawd\u017a, czy \u201e\u015acie\u017cka podstawowa&#8221; odnosi si\u0119 do katalogu g\u0142\u00f3wnego motywu.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152370-61e4d69b261fd.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152370-61e4d69b261fd.png\" alt=\"Samouczek motywu WordPress dla pocz\u0105tkuj\u0105cych \u2013 cz\u0119\u015b\u0107 8: T\u0142umaczenie\" ><\/a><\/p>\n<p>7 Kliknij nast\u0119pn\u0105 kart\u0119, \u201eS\u0142owa kluczowe w \u017ar\u00f3d\u0142ach&#8221;. W tym miejscu musisz powiedzie\u0107 PoEdit, jakich funkcji u\u017cy\u0142e\u015b do t\u0142umaczenia tekst\u00f3w (na przyk\u0142ad <code>__<\/code>, <code>_e<\/code>i <code>esc_html_e<\/code>tak dalej). Kliknij przycisk +, aby doda\u0107 ka\u017cd\u0105 funkcj\u0119 i napisz je bez \u201e()&#8221;. Od Ciebie zale\u017cy, czy chcesz obj\u0105\u0107 wszystkie swoje podstawy i doda\u0107 wszystkie funkcje gettext WordPressa, ale w tym samouczku wiemy, \u017ce u\u017cyli\u015bmy tylko dw\u00f3ch. Dodajemy wi\u0119c dwa elementy; <code>__()<\/code>i <code>_e()<\/code>. Dodaj funkcje bez \u017cadnych nawias\u00f3w.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152370-61e4d69c29a5b.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152370-61e4d69c29a5b.png\" alt=\"Samouczek motywu WordPress dla pocz\u0105tkuj\u0105cych \u2013 cz\u0119\u015b\u0107 8: T\u0142umaczenie\" ><\/a><\/p>\n<p>8 Naci\u015bnij OK.<\/p>\n<p>9 Jedyne, co pozostaje, to powiedzie\u0107 PoEdit, aby przeskanowa\u0142 podane \u015bcie\u017cki w poszukiwaniu funkcji za pomoc\u0105 <code>__()<\/code>i <code>_e()<\/code>(lub cokolwiek poda\u0142e\u015b). Robisz to, naciskaj\u0105c przycisk \u201eAktualizuj z kodu&#8221;. (Wersja dla systemu Windows ma tekst na przycisku, ale wersja dla systemu iOS nie \u2013 wi\u0119c w przypadku systemu iOS nale\u017cy nacisn\u0105\u0107 przycisk, kt\u00f3ry zwykle jest ostatnim na pasku narz\u0119dzi; ikon\u0119 pliku z ikon\u0105 \u201epon\u00f3w&#8221; na g\u00f3rze. Kliknij przycisk \u201eAktualizuj z kodu&#8221; i powiniene\u015b zobaczy\u0107 wszystkie teksty wymienione z interfejsem do t\u0142umaczenia:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152370-61e4d69d34b4a.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152370-61e4d69d34b4a.png\" alt=\"Samouczek motywu WordPress dla pocz\u0105tkuj\u0105cych \u2013 cz\u0119\u015b\u0107 8: T\u0142umaczenie\" ><\/a><\/p>\n<p>Mi\u0142y!<\/p>\n<h3>Wygenerowane pliki t\u0142umacze\u0144<\/h3>\n<p>Teraz mo\u017cesz u\u017cy\u0107 PoEdit do przet\u0142umaczenia ka\u017cdego ci\u0105gu, ale nie zrobimy tego tutaj, poniewa\u017c nie ma sensu t\u0142umaczy\u0107 z angielskiego na angielski. Pami\u0119taj, aby nacisn\u0105\u0107 Zapisz, aby zaktualizowa\u0107 i wygenerowa\u0107 <code>.mo<\/code>plik, a za ka\u017cdym razem, gdy dodasz kolejny tekst w swoim motywie, musisz ponownie nacisn\u0105\u0107 przycisk \u201eAktualizuj z kodu&#8221;. Wtedy pojawi\u0105 si\u0119 nowe zmiany w Twoich szablonach.<\/p>\n<p>Je\u015bli sprawdzisz <code>\/lang<\/code>podfolder w folderze katalogu motywu, powiniene\u015b zobaczy\u0107 dwa pliki; plik <code>.po<\/code>, kt\u00f3ry w\u0142a\u015bnie stworzyli\u015bmy, oraz <code>.mo<\/code>plik o tej samej nazwie, wygenerowany przez nas zapisany w PoEdit.<\/p>\n<p>Mo\u017cesz wykona\u0107 kopi\u0119 <code>en_US.po<\/code>pliku i zmieni\u0107 jego nazw\u0119 na kod innego j\u0119zyka. Pami\u0119taj jednak, \u017ce PoEdit nie oferuje prostego sposobu na wyczyszczenie wszystkich przet\u0142umaczonych ci\u0105g\u00f3w; musia\u0142by\u015b wyczy\u015bci\u0107 jeden po drugim. To jest pow\u00f3d, dla kt\u00f3rego jest to do bani dla u\u017cytkownik\u00f3w, kt\u00f3rzy chc\u0105 przet\u0142umaczy\u0107 Tw\u00f3j motyw na inny j\u0119zyk. Wi\u0119c je\u015bli masz mo\u017cliwo\u015b\u0107 stworzenia <code>.pot<\/code>pliku, powiniene\u015b to zrobi\u0107.<\/p>\n<p>WordPress wyszuka plik t\u0142umaczenia w zale\u017cno\u015bci od j\u0119zyka zdefiniowanego w menu administratora Ustawienia &gt; J\u0119zyk strony. Je\u015bli doda\u0142e\u015b inny j\u0119zyk ni\u017c angielski, mo\u017cesz go przetestowa\u0107, zmieniaj\u0105c j\u0119zyk witryny i sprawd\u017a, czy pojawi si\u0119 Twoje t\u0142umaczenie!<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/awhitepixel.com\" class=\"external external_icon\">awhitepixel.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dowiadujemy si\u0119, jak dzia\u0142a t\u0142umaczenie (lub i18n) w WordPressie i jak sprawi\u0107, by teksty mo\u017cna by\u0142o t\u0142umaczy\u0107. Zawiera r\u00f3wnie\u017c przewodnik dotycz\u0105cy u\u017cywania PoEdit do generowania plik\u00f3w .po.<\/p>\n","protected":false},"author":1,"featured_media":224072,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[897,721,721,919,897,919,1110,845,929,929,845,866,866],"tags":[1169],"class_list":{"0":"post-233754","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-kod","8":"category-deweloper","10":"category-inny","13":"category-n-a","14":"category-samouczki","15":"category-tematy","18":"category-wordpress-7","20":"tag-affiai-pl"},"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/233754","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/comments?post=233754"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/233754\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/224072"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=233754"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=233754"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=233754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}